在构造函数中 base.SetStyle(ControlStyles.Selectable, false);

解决方案 »

  1.   

    TabStop = false;
    这样可以么?tab就无法移到上面了。可是,按鼠标还是可以给焦点的。
      

  2.   

    或者直接enabled = false。这个也可以无法获得焦点。但可以触发事件的。已经测试过。
    private void button1_Click(object sender, System.EventArgs e)
    {
    char a = '?';
    MessageBox.Show(Convert.ToString(Convert.ToChar(Convert.ToInt32(a))));
    } private void textBox1_TextChanged(object sender, System.EventArgs e)
    {
    button1_Click(null,null);
    }textbox1改变数据后,执行了按钮1的单击事件。
      

  3.   

    在控件获取焦点时移除焦点,如不让listBox1获取到焦点
    private void listBox1_Enter(object sender, System.EventArgs e)
    {
    //设置焦点到其他控件Control.Focus();}
      

  4.   

    private void XX_Enter(object sender, System.EventArgs e)
    {
       XX.Enabled = false;
    }
      

  5.   

    1. 调用SetStyle(ControlStyles.Selectable, false);
    2. 设置TabStop = false;
      

  6.   

    我是了一下
    public UserControl1()
    {
    // 该调用是 Windows.Forms 窗体设计器所必需的。
    InitializeComponent();
    // TODO: 在 InitializeComponent 调用后添加任何初始化
    base.SetStyle(System.Windows.Forms.ControlStyles.Selectable,false);
    base.UpdateStyles();
    }
    可这个空间还是能获取焦点,WHY??????/?
      

  7.   

    你的控件似乎是从 UserControl 类继承的。这个类的 OnMouseDown 方法是这样的:protected override void OnMouseDown(MouseEventArgs e)
    {
      if (!this.FocusInside())
      {
        this.FocusInternal();
      }
      base.OnMouseDown(e);
    }已经在鼠标单击时使自己获得焦点,所以你需要覆盖这个方法。