Windows窗体调用工具提示作为方法



如何为不同的TextBoxes调用工具提示?我试着使用这个代码

public partial class Form1 : Form{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ShowToolTip("test", textBox1);
toolTip1.IsBalloon = false;
toolTip1.Show("test", textBox1, 4000);
}
static void ShowToolTip(string text, TextBox element)
{
toolTip1.IsBalloon = false;
toolTip1.Show(text, element, 4000);
}
}

我不明白为什么在button1_Click方法中我可以访问工具Tip1,但在自定义方法ShowToolTip中我得到CS0120"非静态字段、方法或属性"member"需要对象引用错误。这也是为每个元素类型(例如Label、Button等(进行方法重载的好方法吗?

我修复了我的代码:

void ShowToolTip(string text, IWin32Window element)
{
toolTip1.IsBalloon = false;            
toolTip1.Show(text, element, 4000);
}

将ToolTip对象作为参数传递给ShowToolTip静态方法,因为您在非静态Form类中使用静态方法

static void ShowToolTip(string text, TextBox element, Control control)
{
var myToolTip = control as ToolTip;
if (myToolTip == null)
return;
myToolTip.IsBalloon = false;
myToolTip.Show(text, element, 4000);
}

相关内容

最新更新