2011-12-22 18 views
0

曖昧なタイトルをお詫び申し上げます。私はこれを行うには良い方法を見つけようとしている:WPFコントロールを識別する最も良い方法は?

public void DoSomething(Textbox tb) 
{ 
    switch(tb.Name) 
    { 
     case "tbOne": 
      // Do something 
      break; 
     case "tbTwo": 
      // Do something else 
      break; 
    } 
} 

彼らは私のコードを変更し、破ることができるので、私はテキストボックスの名前をハード好きではありません。どのようにこれを行うには良いアイデア?

答えて

1

あなたは本当にだけではなく、あなたが持っているもので、これを行う、ハードコードにそれを必要としない:

public void DoSomething(Textbox tb) 
{ 
    if(tb == tbOne) 
    { 
    } 
    else if (tb == tbTwo) 
    { 
    } 
} 

そうすれば、彼らはあなたが=コンパイル時の例外を取得します変更した場合)。

+0

なぜ私はdidnそれを考えないで!ありがとう! – ConditionRacer

+0

喜んで助けることができる=) – Carlo

2

TextboxのTagプロパティを使用できます。任意のオブジェクト(文字列、int、...など)を保持できます。

多くの場合、あなたがやっていることは必要ではないことがわかります。質問にあなたが何を達成しようとしているのかを追加すると、より良い提案が得られる可能性があります。

+0

第2段落を十分に強調することはできません...私たち人間は最初に正しく理解することで知られていませんので、より多くの答えをあなたに教えてください – Adam

0

依存関係グラフのどこかに上位のエントリがあるはずですが、MSDNで見つけることはできません。

身分証明書に使用できる値を保存するには、Tagプロパティ(see here)を使用するとどうなりますか?

関連する問題