Отключите ярлыки на FilterKeys, StickyKeys и ToggleKeys - ничто не расстраивает меня больше, чем необходимость иметь дело с той грязной функцией, потому что я снижаю клавишу Shift несколько раз, в то время как я думаю или удерживаю его в течение восьми секунд (снова, при размышлении), прежде чем я начну вводить!
Изменение действие по умолчанию для Папки для исследования вместо открытого.
Вы пытались создать экземпляр всплывающей подсказки в конструкторе и показать ее при наведении курсора мыши?
public ToolTip tT { get; set; }
public ClassConstructor()
{
tT = new ToolTip();
}
private void MyControl_MouseHover(object sender, EventArgs e)
{
tT.Show("Why So Many Times?", this);
}
Простое добавление всплывающей подсказки с помощью конструктора генерирует совершенно другой код, чем в вопросе.
Form1.Designer.cs: (частные переменные перемещены в верхнюю часть класса для удобства чтения)
partial class Form1
{
private System.ComponentModel.IContainer components = null;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ToolTip toolTip1;
// ...
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.label1 = new System.Windows.Forms.Label();
this.toolTip1 = new System.Windows.Forms.Tooltip(this.components);
// ...
this.toolTip1.SetToolTip(this.label1, "abc");
// ...
}
}
Я уверен, что вы можете извлечь в компонент только всплывающие подсказки и контейнеры.
MouseHover запускается каждый раз, когда мышь перемещается над вашим элементом управления. Таким образом, вы создаете новую всплывающую подсказку каждый раз, когда запускается событие. Вот почему вы видите несколько экземпляров этого виджета. Попробуйте ответ Джозефа