-4

データ型を文字列から変数に変更するにはどうすればよいですか?

例:

private void button1_Click(object sender, EventArgs e)
    {
        work("checkBox1");
    }

    public void work(string check)
    {

    string number = "1";
            if (number == "1")
            {
                check.Checked = true;
                MessageBox.Show("True");
            }
            else
            {
                check.Checked = false;
                MessageBox.Show("False");
            }

    }

どうすればこの問題を解決できますか

「文字列」には「チェック済み」の定義が含まれておらず、拡張メソッド「チェック済み」は受け入れられません

しかし、ボタン挿入チェックボックス名を操作したい

4

2 に答える 2

8

変化する..

public void work(string check)

... に ...

public void work(CheckBox check)

次に、次のように呼び出します。

work(checkBox1);

文字列を操作してからコントロールを見つけることができForm.Controlsますが、CheckBox 自体を操作する方がはるかに簡単です。


つまらない@daveLに対処するためにvar、メソッドパラメーターとして型を使用することはできません。コードを機能させるには、CheckBoxまたはを使用できますdynamic

これが可能であると考えている世界中の @daveL には、Implicitly Typed Local Variablesに関するドキュメントがあります。

于 2012-07-18T15:31:48.667 に答える
1

最も簡単な方法は、チェックボックスの名前だけでなく、チェックボックスへの実際の参照を渡すことです。

private void button1_Click(object sender, EventArgs e) 
{ 
    work(checkBox1); 
} 

public void work(CheckBox check) 
{ 

string number = "1"; 
        if (number == "1") 
        { 
            check.Checked = true; 
            MessageBox.Show("True"); 
        } 
        else 
        { 
            check.Checked = false; 
            MessageBox.Show("False"); 
        } 

} 
于 2012-07-18T15:32:41.620 に答える