【问题标题】:Textbox Event Handling文本框事件处理
【发布时间】:2010-12-27 21:12:56
【问题描述】:

我有一个包含显示各种代码值的文本框的表单。如果我在其中一个显示代码的文本框中单击,我如何将列表视图子项中的描述值显示到相邻的文本框中?用户单击一个按钮,从 Listview 中选择一个代码列表,该列表视图显示数据库中的代码和描述值。

我需要能够为每个代码显示适当的描述(有 200 个代码)

更具体一点:

如果我点击 textbox1(code1 值),相应的 description1 应该会出现在“描述文本框”中。

如果我点击 textbox2(code2 值),适当的 description2 应该出现在 “描述文本框”。

下面的当前方法仅适用于一次..并且在您例如以下情况下不起作用: 单击 textbox1,然后单击 textbox2,但改变主意并希望查看 textbox20 的描述。 Textbox1 的描述仍然显示。

到目前为止实现的代码:

private void txtbYTRDICD1_MouseDown(object sender, MouseEventArgs e)
{
    txtbICDDiagDesc.Text = _theICD9DCode.Description;
}

我正在使用 Visual Studio 2005 中的 C#.NET。谢谢大家

【问题讨论】:

    标签: c# winforms events listview textbox


    【解决方案1】:

    您可以只使用 ToolTip 控件来在您的文本框中发送描述。

    myToolTip.SetToolTip(txtbYTRDICD1, _theICD9DCode.Description);
    

    【讨论】:

      【解决方案2】:

      哇,这里有很多危险信号。为什么你会命名为“bYRTDICD1”?为什么要在 TextBox 中添加描述?您希望用户编辑描述吗?为什么要使用 MouseDown 事件?用户不能使用键盘吗?

      随机建议:

      1. 使用 Enter 事件,而不是 MouseDown
      2. 在标签而不是文本框中添加描述
      3. 使用 TextBox.Tag 属性存储描述
      4. 使用组合框让用户选择内容而不是列表视图
      5. 设计您的 UI,使描述变得不必要

      【讨论】:

      • 你到底为什么要命名为“bYRTDICD1”? :))) 100%; - 使用 Enter 事件 - 甚至在 MouseHover 上!一般来说,我可以推荐用于标签描述的工具提示。
      • 感谢您的反馈,还有 1.文本框名称是用户要求。它是数据库字段的名称。我最初尝试使用 LABEL 代替,(理想)因为用户不需要编辑描述。但是,我在编码方面遇到了麻烦,这就是我们交流的原因:)您的替代建议很有价值,但是,表单是根据旧的应用程序设计设计的。所以列表视图保持LOL。再次感谢
      • 关于 Enter 事件 - 我首先尝试使用它,因为它似乎更适用,但再次......参考我之前的解释......我使用的语法无法将描述存储在文本框。祝你好运,谢谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      相关资源
      最近更新 更多