0

これを参照してください: メインフォームコード:

public partial class Principal : Form
{
    string directoriodelarchivo;
    ... 


    ....
    private void opendicomdir_Click(object sender, EventArgs e)
    {
        directoriodelarchivo = System.IO.Path.GetDirectoryName(ofd.FileName);
        var form = new dicomdirselectionform(_reader);
        form.ShowDialog();  
    }
}

他のフォームでいくつかのことを行い、ボタンを押してメインフォームに戻ります。メインフォームに戻ると、変数「directoriodelarchivo」が空です!

それはなぜですか?私はC#が初めてで、欠けているものがあるかどうかを把握しようとしています

4

2 に答える 2

0

何が原因なのかすぐにはわかりません。理由を見つけるには、次のようにすることをお勧めします。

  1. を変更している可能性のある他のすべてのコードを削除しますdirectoriodelarchivo
  2. directoriodelarchivoコードのすべてのステップの後に の値を確認する簡単な方法を追加します。(例: https://ideone.com/E38zc2 )
  3. これが機能する場合は、ステップ 1 で削除した、変更によってアプリケーションを壊しているコードを探してみてくださいdirectoriodelarchivo。そうでない場合は、ofd.FileNameの値が不十分である可能性がありますdirectoriodelarchivo
于 2013-08-05T19:37:48.273 に答える
0

それには2つの原因があります

  1. どういうわけかこのフォームを再作成します。したがって、デフォルトで値があります。

  2. いくつかのコードでその var を変更します。その変数の参照を見つけようとするだけで、それを確認できます。

それがあなたを助けることを願っています!

于 2013-08-05T17:51:04.623 に答える