タイトル
 メニューにないコーナーはTopからいけます
TOP.NETWindowsForm → This Page

.NET プログラミングのコーナー
クラス関連 > コントロール関連 > 擬似コントロール配列


概要


既存コントロールをコントロール配列のように扱うサンプルです。


サンプルイメージ


サンプル画像


サンプルソース(一部抜粋)

C#

private System.Collections.ArrayList mButton;
private System.Collections.ArrayList mTextBox;

private void Form1_Load(object sender, System.EventArgs e)
{
	mButton = new System.Collections.ArrayList();
	mTextBox = new System.Collections.ArrayList();

	//コレクションにボタン・テキストボックスを追加
	mButton.Add(Button1);
	mButton.Add(Button2);
	mButton.Add(Button3);
	mButton.Add(Button4);
	mButton.Add(Button5);
	mTextBox.Add(TextBox1);
	mTextBox.Add(TextBox2);
	mTextBox.Add(TextBox3);
	mTextBox.Add(TextBox4);
	mTextBox.Add(TextBox5);
}

private void Form1_Closed(object sender, System.EventArgs e)
{
	mButton.RemoveRange(0, 5);
	mTextBox.RemoveRange(0, 5);
	mButton = null;
	mTextBox = null;
}

//使用不可にする
private void Button6_Click(object sender, System.EventArgs e)
{
	for (int intLoop = 0; intLoop <= (mButton.Count -1); intLoop++)
	{
		((System.Windows.Forms.Button)mButton[intLoop]).Enabled = false;
		((System.Windows.Forms.TextBox)mTextBox[intLoop]).Enabled = false;
	}		
}

//使用可能にする
private void Button7_Click(object sender, System.EventArgs e)
{
	for (int intLoop = 0; intLoop <= (mButton.Count -1); intLoop++)
	{
		((System.Windows.Forms.Button)mButton[intLoop]).Enabled = true;
		((System.Windows.Forms.TextBox)mTextBox[intLoop]).Enabled = true;
	}		
}


--------------------------------------------------------------------------------
VB.NET

Dim mButton As System.Collections.ArrayList
Dim mTextBox As System.Collections.ArrayList

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    mButton = New System.Collections.ArrayList
    mTextBox = New System.Collections.ArrayList

    'コレクションにボタン・テキストボックスを追加
    mButton.Add(Button1)
    mButton.Add(Button2)
    mButton.Add(Button3)
    mButton.Add(Button4)
    mButton.Add(Button5)
    mTextBox.Add(TextBox1)
    mTextBox.Add(TextBox2)
    mTextBox.Add(TextBox3)
    mTextBox.Add(TextBox4)
    mTextBox.Add(TextBox5)
End Sub

Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
    mButton.RemoveRange(0, 5)
    mTextBox.RemoveRange(0, 5)
    mButton = Nothing
    mTextBox = Nothing
End Sub

'使用不可にする
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    Dim intLoop As Integer
    For intLoop = 0 To mButton.Count - 1
        mButton(intLoop).Enabled = False
        mTextBox(intLoop).Enabled = False
    Next
End Sub

'使用可能にする
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
    Dim intLoop As Integer
    For intLoop = 0 To mButton.Count - 1
        mButton(intLoop).Enabled = True
        mTextBox(intLoop).Enabled = True
    Next
End Sub

サンプルソースのダウンロード


ソースのダウンロード


TOP.NETWindowsForm → This Page
Valid CSS!