Я не могу запустить событие. Вот мой код. Я говорю это, что значение, которое я хочу знать изменение является Значение этой строки:Съемка события
eventvaluechange.IntValue = value;//link value as the value I want to see change
Тогда я скажу, что он будет делать, когда изменение значения случилось.
public partial class Form1 : Form
{
int value=0;
int value2=999;
Val_changeInt eventvaluechange;
public Form1()
{
InitializeComponent();
eventvaluechange = new Val_changeInt();
eventvaluechange.IntValue = value;//link value as the value I want to see change
eventvaluechange.ValueChanged += new EventHandler(ValueHasChanged);//what I do on event
}
private void button1_Click(object sender, EventArgs e)
{
value = value +1;
}
private void ValueHasChanged(object sender, EventArgs e)
{
value2 = value;
label1.Text = value2.ToString();
}
class Val_changeInt
{
private int valueToWatchOn;
public event System.EventHandler ValueChanged;
protected object _lock = new object();
protected virtual void ValueHasChanged()
{
EventHandler eventvaluechange = ValueChanged;
if (eventvaluechange != null) eventvaluechange(this, EventArgs.Empty);
}
public int IntValue
{
get { return this.valueToWatchOn; }
set
{
if (value != this.valueToWatchOn)
{//if value changed enter
this.valueToWatchOn = value;
ValueHasChanged();
}
}
}
}//Event handler for a value change
Что я делаю неправильно?
Большое спасибо.
Вы пытались отладить шаг за шагом код и посмотреть, что происходит? – Gusman
Вопросы, требующие помощи по отладке («** почему этот код не работает? **)) должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для его воспроизведения ** в самом вопросе **. Вопросы без ** ясной постановки проблемы ** не полезны другим читателям. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). –
Да, он никогда не попадает в intvalue. – Jablonovo