イベントを発生させることはできません。ここに私のコードです。 私が変える知りたい値は、このラインを持つ値であるということを教え:イベントの発生
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