2011-12-27 5 views
0

テキストボックスを含むユーザーコントロールがあります。メインフォーム全体のクリアボタンを使用して情報をクリアしています。クリアボタンがクリックされると、私はユーザーコントロールのテキストボックスをクリアしたいと思います。私は、C#の後に "。"を付けてコントロールの名前を参照しようとしました。ただし、テキストボックスの名前は表示されません。どんな助けもありがとう!私は非常に多くの方法で試してみましたユーザーコントロールのTexBox(textbox.text)コントロールをクリアするには

、But..no結果:

private void button1_Click(object sender, EventArgs e) 

    { 
     for(int k = 0; k< this.Controls.Count;k++) 
     { 
      if(this.Controls[k] is MyUserControl) 
      { 
       MyUserControl _obj = this.Controls[k] as MyUserControl; 
       for (int i = 0; i < _obj.Controls.Count; i++) 
       { 
        if (_obj.Controls[i].GetType().ToString() == "TextBox") 
         (_obj.Controls[i] as TextBox).Clear(); 
       } 
      }  
     } 

または私は私が私の現在のclear()メソッドを呼び出しています次に

 public void clear() 
     { 
     txtname.Text = String.empty; 
     } 

ユーザーコントロール内の1つの方法を作成していますフォームのように。

  usercontrol uc = new usercontrol(); 
     uc.clear(); 

は、しかし、私は

おかげで、事前にユーザーコントロールに存在するテキストをクリアできません。内側のループで

答えて

0

は、これらの行

if (_obj.Controls[i] is TextBox) 
{ 
    TextBox clearTextBox = _obj.Controls[i] as TextBox; 
    clearTextBox.Text = String.Empty; 
} 
0
private void button1_Click(object sender, EventArgs e) 
      { 
      for (int k = 0; k < this.Controls.Count; k++) 
       { 
       if (this.Controls[k] is MyUserControl) 
        { 
        MyUserControl _obj = this.Controls[k] as MyUserControl; 
        for (int i = 0; i < _obj.Controls.Count; i++) 
         { 
         if (_obj.Controls[i] is TextBox) 
          { 
          ((TextBox)_obj.Controls[i]).Clear(); 
          } 
         } 
        } 
       } 
      } 
0

を変更するこれは、テキストボックスを検索するためのループスキップなどの性能が向上します。また、ユーザーコントロールで複数のテキストボックスを使用できる柔軟性を提供します。

private void button1_Click(object sender, EventArgs e) 
     { 
     for (int k = 0; k < this.Controls.Count; k++) 
      { 
      if (this.Controls[k] is MyUserControl) 
       { 
       MyUserControl _obj = this.Controls[k] as MyUserControl; 
       if (_obj != null) 
        {((TextBox)_obj.FindControl("yourTextBoxID")).Text = string.Empty;} 
       } 
      } 
     } 
関連する問題