首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Visual 2010中将字符串与控件与Winforms关联的高效编程方法

在Visual 2010中将字符串与控件与Winforms关联的高效编程方法
EN

Stack Overflow用户
提问于 2013-10-09 19:42:35
回答 3查看 165关注 0票数 1

我试图找到一种有效的工具提示方法,它涉及到将字符串注入表单底部的状态条。我有两个方法,mouseEntermouseLeave,我想使用它们来统一显示与我设置的任意用户控件相关联的字符串。

mouseLeave很简单:

代码语言:javascript
复制
    private void mouseLeave(object sender, EventArgs e)
    {
        toolStripStatusLabel1.Text = "";
    }

但是mouseEnter要困难得多,因为每个控件都需要自己的字符串。如果需要的话,我可以将这些硬编码到程序中,我只是希望它能够工作,而不需要为每个对象提供不同的方法。

下面显示了我正在尝试的一种方法(注释行都不起作用,只是显示了我的进展):

代码语言:javascript
复制
    private void mouseEnter(object sender, EventArgs e)
    {
        //toolStripStatusLabel1.Text = pictureBoxLogo.GetAccessibilityObjectById(AccessibleDescription);
        //toolStripStatusLabel1.Text = sender.ToString();
    }

当使用GetAccessibilityObjectById时,我会得到错误消息:

错误23不能通过‘System.Windows.Forms.PictureBox’类型的限定符访问受保护的成员'System.Windows.Forms.Control.GetAccessibilityObjectById(int)‘;限定符必须是'.MainForm’(或派生自它) \formMain.cs 59。

当使用sender.ToString();方法时,我在状态栏中得到一个不连贯的文本字符串。这根本不是要使用的正确属性。

是否有我可以使用的所有控件的一个属性,然后我可以从它们中获取这些控件并将其插入为字符串?如果不是,以任何方式向他们分配字符串的最佳方式是什么,这样我就可以在mouseEnter中以字符串的形式获得字符串

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-09 19:44:57

如何利用Tag类的Control属性。例如,在设计器中,将TagTextBox设置为“这是我的工具提示”。然后在mouseEnter中这样做:

代码语言:javascript
复制
var c = sender as Control;
if (c == null) { return; }

toolStripStatusLabel1.Text = Convert.ToString(c.Tag);
票数 2
EN

Stack Overflow用户

发布于 2013-10-09 19:44:23

可以使用Tag属性存储有关控件的用户特定信息。没有别的东西能碰它了。虽然我不确定这是本地化字符串键的合适位置。

传统工具提示通常的工作方式是为工具提示本身的每个对象定义工具提示。在内部,它有一个字典,本质上是这样的映射:

代码语言:javascript
复制
control1 -> "control1's tooltip"
control2 -> "control2's tooltip"
control3 -> "control3's tooltip"
票数 1
EN

Stack Overflow用户

发布于 2013-10-09 19:45:53

为什么不使用带有控件名称的字典作为键呢?

代码语言:javascript
复制
var ControlDict = new Dictionary<string,string>();

ControlDict.Add("txtName", "Your Name");

toolStripStatusLabel1.Text = ControlDict[sender.ToString()];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19281119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档