2016-09-06 9 views
0

これは私のコードです:メソッド入力にComboBoxを追加するにはどうすればよいですか?

1.)最初の部分はうまくいきます。

2.)2番目の部分は、私のメソッドがすべてを行うようにしようとしている新しいコードです。今私は、メインメソッドのをやっている。

​​

私はそれは私ががそれをやらせる文句を言わない方法

data2HEX.Text = ExportUpdates.updateHexListNumbers(data2HEX.Text, data) 
public static string updateHexListNumbers(string textboxHex, object box) 
{ 
    int index = box.SelectedIndex; 
    textboxHex = ""; 

    int index2 = Math.Abs(index); 

    string strTextboxHex = index2.ToString("X"); 

    textboxHex = strTextboxHex; 

    return textboxHex; 
} 

の第2引数で私ComboBoxを入れて、以下の新しい方法で自分のコードを削減しようとした、回避策はありますか?それともそれをそのまま残すのだろうか?

+0

エラーは何ですか? –

+0

は、SelectedIndexを赤で下線を引いて、 'object'に 'SelectedIndex'の定義がなく、 'ObjectIndex'型の最初の引数を受け入れる拡張メソッド 'SelectedIndex'が見つかりませんでした(使用しているディレクティブまたはアセンブリ参照がありませんか? ) – JohnChris

+0

ちょうど興味のない - "_int index2 = Math.Abs​​(index); _"は何も選択されていない場合、 - SelectedIndexは負であり、そうでない場合はゼロベースのリストオフセットです。 – PaulF

答えて

1

これは、オブジェクトがコンボボックスではないため、なぜ選択インデックスがあるのでしょうか?しようとするint index =(box as ComboBox).SelectedIndex; - robert.woods

これは働いていたが、その後、私は私のミスは、

だった私は、引数、

public static string updateHexListNumbers(string textboxHex, ComboBox box) 
{ 
int index = box.SelectedIndex; 
......} 

、細かな作品として、私は直接コンボボックスを追加することができますどのようにダムを知らなかっ実現

PSこのコメントを見ました!

ComboBoxをメソッドに渡すだけの場合は、最初のインスタンスで「public static string updateHexListNumbers(string textboxHex、ComboBox box)」としてメソッドを作成しないと、オブジェクトをキャストする必要はありません。異なるタイプのオブジェクトをメソッドに渡す場合は、キャストを行う前に型をチェックする必要があります。 - PaulF

関連する問題