在winform控件上设置工具提示就像在字典中添加一些东西:
ToolTip tt = new ToolTip();
tt.SetToolTip(control, "tooltip text");
将控件的文本设置为null将使应用程序不再显示控件上的工具提示:
tt.SetToolTip(control, null);
必须持有对控件的引用。我想确保删除(和处理)控件不会导致内存泄漏,所以我需要从工具提示中删除控件的引用。 设置为null是否删除引用?或者将控制其词典'空值?在后一种情况下如何删除这一个控件好? (我知道tt.RemoveAll()但我需要保留其他工具提示。)
答案 0 :(得分:1)
您可以查看Tooltip.SetToolTip
的源代码,
看here for SetToolTipInternal
tools
是一个Hashtable,传递null会调用tools.Remove(control)
:
...
bool exists = false;
bool empty = false;
if (tools.ContainsKey(control)) {
exists = true;
}
if (info == null || String.IsNullOrEmpty(info.Caption)) {
empty = true;
}
if (exists && empty) {
tools.Remove(control);
}
...