フォームBからフォームaに文字列を送信しようとすると、コードに非常に厄介な問題が発生します。エラーメッセージが表示されます:
Object reference not set to an instance of an object.
私はこのエラーに精通しており、通常はこの問題を解決する方法を知っていますが、これは異なります。
あるフォームからメインフォームに時計名を送信する必要があります。以下のコードを使用してこれを実現しようとしています。
delegate void ClockClocknameReceivedEventHandler(object sender, Clock.ClocknameReceivedEventArgs e);
internal class ClocknameReceivedEventArgs : EventArgs
{
string _clockname;
public string Clockname
{
get { return _clockname; }
}
public ClocknameReceivedEventArgs(string clockname)
{
_clockname = clockname;
}
}
// An event that clients can use to be notified whenever the
// elements of the list change.
public event ClockClocknameReceivedEventHandler ClocknameReceived;
// Invoke the Changed event; called whenever list changes
protected void OnClocknameReceived(Clock.ClocknameReceivedEventArgs e)
{
ClocknameReceived(this, e);
}
また、ボタンを押すと次のコードが実行され、その後フォームが閉じます。
OnClocknameReceived(new Clock.ClocknameReceivedEventArgs(ClockName));
エラー(オブジェクト参照がオブジェクトのインスタンスに設定されていません。)私が受け取るエラーは、
ClocknameReceived(this, e);
別のクラスからメインフォームまでまったく同じコードを使用して、正常に機能するバイト配列を送信していますが、これではエラーが発生します。
誰かアイデアはありますか?
前もって感謝します!