2011-01-05 18 views
0

私はMDIアプリケーションを持っており、フォーカス/選択に新しいフォームを使用しています。私は、コードのこの作品を書かれているが、それは問題は、MdiChildrenが存在するかどうかを確認するために、C#

ます。private void lstview1_MouseDoubleClick(オブジェクト送信者、MouseEventArgs e)の {
文字列window_nameが= this.lstview1.FocusedItem.Tagを持っている回以上同じ画像の開口部をavoideするには.ToString(); childformタグが再びint.parse(window_nameが)である

  if (this.MdiChildren.Count() > 0) 
      { 

       if (window_name == this.MdiChildren[i].Tag.ToString()) // At this point need ur help 
       { 
        this.MdiChildren[i].Activate(); 
       } 
       else 
       { 
        Image_show_form(image, window_name); 

       } 
      } 
      else 
      { 
       Image_show_form(image, window_name); 

      } 

}

。 しかし、sense [this.MdiChildren [index] .Tag]が最初に存在する必要があるエラーをスローします。 この存在をどうやって解決できますか?またはコードをより良くするにはどうすればいいですか?何このアプローチについて

答えて

0

private void ShowForm(string name) 
{ 
    Form targetForm = null; 

    foreach (Form frm in Application.OpenForms) 
    { 
     if (frm.Tag != null) 
     { 
      if (frm.Tag.ToString() == name) 
      { 
       targetForm = frm; 
       break; 
      } 
     } 
    } 

    if (targetForm != null) 
    { 
     targetForm.Activate(); 
    } 
    else 
    { 
     // create new form and show it 
    } 
} 
+0

ありがとう、いくつかのマイナーな変更では、それが動作します – Shahgee

関連する問題