0
最近追加されたC#アプリケーションのツールストリップで、関数を呼び出すメニュー項目をクリックするとエラーが発生しますが、Windowsform Buttonから関数を呼び出すと完璧に機能します。 ToolStripのメニュー項目をクリックしますが、それはエラーが発生したときにToolstripMenuItemクリックしてエラーを発生させますか?
this.userControl11.IssueDocMenuItem.Click += new System.EventHandler(ShowAddDocument);
しかし:
private void ShowAddDocument(object sender, EventArgs e)
{
foreach (var rr in this.gridEX1.GetDataRows())
{
if (rr.Cells["Select"].Value != null)
{
if (rr.Cells["DocumentNumber"].Value.ToString() != "")
{
rr.BeginEdit();
rr.Cells["Select"].Value = null;
rr.EndEdit();
}
else
{
this.gridEX1.Tag = "SELECTED";
}
}
}
と私は機能とのToolStripのMenuItemのClickイベントを接続するには、以下の行を使用します。次 は私の関数である 「オブジェクト参照オブジェクトのインスタンスに設定されていません "。私はWindowsFormのボタンを使用して、次のコードで関数を呼び出すとき が、奇妙な部分がある:
private void button1_Click(object sender, EventArgs e)
{
ShowAddDocument(sender, e);
}
それ私のコードがエラーなしで動作します!!!。
これはどのラインですか?私はあなたのコードに基づいてのみ仮定をすることができます。 'gridEx'はnull、' GetDataRows'はヌルを返す 'rr'ヌル、または' rr'のインデックスで取り出されたセルの一つです。ヌルです。 'rr [" Select "]'と 'rr [" DocumentNumber "]'参照:http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-それは – Bauss
いいえ私のグリッドはnullではなく、Button1をクリックするとエラーなしで動作します –
何年にもわたって開発されたランタイムは突然このような単純なコードでヌル値の例外をスローします。失礼や何かを聞こえることはありませんが、あなた自身のコードが間違っていると常に*仮定してください。 * ALL *値は、グリッドだけでなく、メソッド/行インデックスに返される値もデバッガで検査しようとしましたか? – Bauss