Я действительно новичок в C#, и я думал, почему текст ярлыка изменился, когда я установил его в другом значении без помощи обработчика события?Текст ярлыка изменен без обработчика событий с измененным текстом? Зачем?
Вот мой код:
class Main_Program : Form
{
Button btnAttack = new Button();
Label[] lblEnemyInfo = new Label[4];
public Main_Program()
{
btnAttack.Text = "ATTACK";
btnAttack.Location = new Point(350, 450);
btnAttack.Width = 150;
btnAttack.Height = 50;
btnAttack.FlatStyle = FlatStyle.Popup;
btnAttack.MouseClick += new MouseEventHandler(btnAttack_MouseClick);
for (short i = 0; i < 4; i++)
lblEnemyInfo[i] = new Label();
string enemyHealth = "Health : " + enemy.Health; //I'm going set the values on label 2
lblEnemyInfo[1].Text = enemyHealth;
lblEnemyInfo[1].Font = new Font("Segoi UI", 12, FontStyle.Italic);
lblEnemyInfo[1].Location = new Point(500, 50);
for (short i = 0; i < 4; i++)
Controls.Add(lblEnemyInfo[i]);
}
private void btnAttack_MouseClick(Object sender, EventArgs e)
{
short totalDamage = totalDamageDeal(enemy.Armor, player.Attack);
string log = "You Attack the enemy, you deal " + totalDamage + " damage";
enemy.Health -= totalDamage;
string result = "Health : " + enemy.Health;
lblEnemyInfo[1].Text = result;
lblEnemyInfo[1].TextChanged += new EventHandler(lblEnemyInfo_TextChanged); //The label's text changed even without the eventhandler
}
private void lblEnemyInfo_TextChanged (object sender, EventArgs e)
{
//i don't know what statements to put here
}
}
Я не понимаю, о чем вы просите. Событие 'TextChanged' возникает при изменении текста. Это способ сообщить, что текст был изменен, а не способ изменить текст. В вашем вопросе много кода, который, вероятно, не имеет никакого отношения к тому, что вы просите. Пожалуйста, предоставьте хороший [mcve] и объясните, что вы ожидали, и что произошло вместо этого, что вам нужен кто-то, кто вам объяснит. –