C#(Winformのいくつかの小さな知識点)

3157 ワード

1.WinFormで複数のコントロールに1つのイベントを共有させる方法:Ctrlキーを押しながら、複数のコントロールを一度に選択し、共有イベントを選択し、ダブルクリックすればよい.たとえば、複数のButtonを選択し、イベント内でButtonのクリックイベントを見つけ、ダブルクリックしてClickイベントにコードを記述することで、複数のコントロールが1つのイベントを共有できます.
2.WinFormでDataGridViewを使用してデータベースにデータをバインドすると、中国語と英語の列名が同時に表示されるトラブルが発生します.この場合、1行のコードで英語の列を明示的に表示するだけで、中国語の列名だけを表示することができます.サンプルコード:
this.DataGridView1.AutoGenerateColumns=false;

3.WinFormでコンテナコントロール、たとえばGroupBox,Panelであれば、その中のすべてのコントロールのEnabled属性がfalseであるようにするには、コンテナコントロールのEnabled属性をfalseに変更するだけでこの効果を実現できます.サンプルコード:
this.Panel1.Enabled=false;

4.Winformでフォームを空にする簡単な方法は、次のように書くことができます.
public void Clear()
{
    foreach(Control c in this.Controls)
    {
       if(c is TextBox)
       {
          c.Text=string.Empty;
       }
       if(c is CheckBox)
       {
          CheckBox chb=c as CheckBox;
          chb.Checked=false;
       }
    }
}

しかし、もし私たちがすべてのコントロールではなく、コンテナのコントロールを空にしたいなら、私たちはどうすればいいのでしょうか.私たちはforeach this.Controls this.Panel1.Controlsを必要とします.
5.Winformフォームにスクロール字幕を追加するには、3つのコントロールが必要です.1つのLabelコントロール、2つのButtonコントロール、1つのTimerコントロール、Timerコントロールで文字のスクロール速度を制御します.Timerコントロールを記述するtickイベントのサンプルコードは、次のとおりです.
private void Timer1_Tick(object sender,EventArgs e)
{
     Label1.Left-=2;    //Label 2
     if(this.Label1.Right<0)
     {
          this.Label1.Left=this.Width;
     }
}

次に、字幕スクロールの開始と停止を制御するためのButton 1とButton 2のクリックイベントを作成する.サンプルコードは次のとおりです.
// 
private void Button1_Click(object sender,EventArgs e)
{
   this.Timer1.Enabled=true;
}
// 
private void Button2_Click(object sender,EventArgs e)
{
    this.Timer2.Enabled=false;
}

デバッグを開始し、効果をプレビューします.