【问题标题】:Avoid a textbox get's focus避免文本框获得焦点
【发布时间】:2015-05-04 07:09:57
【问题描述】:

我正在使用 Windows 窗体应用程序,我有一个文本框,我想避免它获得焦点。

现在我正在使用属性 Enable,但它给表单带来了不好的外观。

我也试过这个

private void txtMyTextbox_Enter(object sender, EventArgs e)
{
    ActiveControl = objMyOtherControl;
}

但是就像我在引发事件时选择该文本框的单词一样,文本框会失去选择。

【问题讨论】:

  • 使其只读实际上是正确的方法。改变外观是为了通知用户他不应该使用控件,你不应该对抗它
  • 为什么不使用标签?
  • 他想保留选择文本的能力;不适用于标签。

标签: c# textbox focus


【解决方案1】:

如果你想让文本框无法聚焦但你仍然希望能够选择文本,你正在寻找的是 ReadOnly 属性。


以下是官方文档的摘录:

您可以将可编辑的 Windows 窗体文本框转换为只读的 控制。例如,文本框可能会显示一个通常为 已编辑,但由于应用程序的状态,当前可能尚未编辑。

创建只读文本框

设置 TextBox 控件的 ReadOnly 属性为真。将该属性设置为 true,用户仍然可以 在不允许更改的情况下滚动并突出显示文本框中的文本。一个 复制命令在文本框中有效,但剪切和粘贴命令 不是。
注意 ReadOnly 属性只影响用户交互 运行时间。您仍然可以以编程方式在以下位置更改文本框内容 通过更改文本框的 Text 属性来运行时。

【讨论】:

    猜你喜欢
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多