2016-09-30 2 views
0

Я новичок на C#. Я хочу добавить '#' в HALLO (в текстовом поле) каждый раз, когда вы наводите указатель мыши на кнопку.Добавление текста в текстовое поле, когда событие '' MouseHover '' активно

Это то, что я есть:

public partial class Form1 : Form 
{ 
    string Q = "HALLO"; 
    string hashtag = "#"; 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     tB1.Text = Q; 
    } 

    private void bT1_MouseHover(object sender, EventArgs e) 
    { 
     tB1.Text += hashtag; 

     if (Q.Length > 20) 
     { 
      tB1.Clear(); 
     } 

     lBkarakters.Text = Convert.ToString(tB1.Text.Length); 
    } 

    } 
    } 

Это добавить '#', но HALLO ушел.

+0

Теперь мы знаем, что вы хотите и что у вас есть - мы должны знать, что ваша проблема. Знание winforms/wpf и т. Д. Также было бы полезно, поскольку они могут иметь разные решения. – PaulF

+0

Добавьте этот код в событие MouseHover BUtton –

+0

Если я запустил программу, она не добавит # в HALLO. Только один раз, например: HALLO #, поэтому, если я дважды нажимаю кнопку над кнопкой, это должно быть так: HALLO ## – Linda

ответ

0
public partial class Form1 : Form 
{ 
    string Q = "HALLO"; 
    string hashtag = "#"; 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     tB1.Text = Q; 
    } 

    private void bT1_MouseHover(object sender, EventArgs e) 
    { 
     tB1.Text += hashtag; 
    } 
} 

или

public partial class Form1 : Form 
{ 
    string Q = "HALLO"; 
    string hashtag = "#"; 

    public Form1() 
    { 
     InitializeComponent(); 

     tB1.Text = Q; 
    } 

    private void bT1_MouseHover(object sender, EventArgs e) 
    { 
     tB1.Text += hashtag; 
    } 
} 

Убедитесь, что вы регистрируется событие:

enter image description here

+0

Первый работает, но HELLO ушел, второй не работает. И событие зарегистрировано – Linda

+0

Они оба работают :) и HALLO не будут удалены. Дважды проверьте код, который у вас есть. – Jim

+0

Проверено, все равно. Я обновил свой код (см. Выше), но если я удалю оператор if, он все равно будет тем же @Jim – Linda

3

Инициализировать ваше текстовое поле где-то (я бы рекомендовал на обработчик события Load):

tB1.Text = "HALLO"; 

Регистрация обработчика событий для события MouseHover на кнопку:

this.yourButton.MouseHover += new System.EventHandler(this.yourButton_MouseHover); 

// ... 

private void yourButton_MouseHover(object sender, System.EventArgs e) 
{ 
    tB1.Text += "#"; 
} 
Смежные вопросы