【问题标题】:.Net form focus.Net 表单焦点
【发布时间】:2010-12-02 17:58:19
【问题描述】:

我有一个 .net 表单,其中包含多个控件。文本框、标签……当表单显示在屏幕上时,文本框默认获得焦点。当我尝试使用鼠标滚轮滚动表单时,滚动消息基本上会转到文本框,因此表单不会滚动..

我试过设置

textbox.capture = false
form.capture = true; 
form.focus();

但似乎没有什么能将注意力从文本框上移开。关于如何强制表单获取鼠标事件而不是控件的任何线索?

【问题讨论】:

    标签: c# .net winforms focus


    【解决方案1】:

    MSDN documentationControl.Focus() 声明:

    [...]

    可以选择和接收控件 如果满足以下所有条件,则输入焦点 true: 的可选值 ControlStyles 设置为 true,它是 包含在另一个控件中,并且所有 它的父控件都是可见的 并启用。

    Windows 窗体控件 以下列表不可选择。 从这些控件派生的控件 也不能选择。

    • 面板
    • 组框
    • 图片框
    • 进度条
    • 分离器
    • 标签
    • LinkLabel(当控件中没有链接时)

    注意注意:

    Focus 是一种低级方法,主要用于自定义控件作者。 相反,应用程序程序员应该使用 Select 方法或 ActiveControl 属性用于子控件,或 Activate 方法用于表单。


    【讨论】:

    • 但是,来自同一个文档:“控件可以具有输入焦点,但不显示任何具有焦点的视觉提示。这种行为主要由下面列出的不可选择控件或派生的任何控件观察到来自他们。”
    猜你喜欢
    • 2012-05-12
    • 2016-09-03
    • 1970-01-01
    • 2010-11-12
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 2010-10-08
    相关资源
    最近更新 更多