如何将ComboBox添加到方法输入?

时间:2016-09-06 13:40:28

标签: c# wpf combobox

这是我现在的代码:

1。)第一部分是我现在的代码,工作正常。

2。)第二部分是我试图让我的方法做所有事情的新代码。现在我正在做主,int index = data.SelectedIndex主要方法。

private void data_MouseMove(object sender, MouseEventArgs e)
{    
   int index = data.SelectedIndex; //I want to add this to my method and have a third input
   data2HEX.Text = ExportUpdates.updateHexListNumbers(index, data2HEX.Text);
}

public static string updateHexListNumbers(int index, string textboxHex)
{       
   textboxHex = "";

   int index2 =  Math.Abs(index);

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

   textboxHex = strTextboxHex;

   return textboxHex;
}

我尝试通过下面的新方法减少我的代码,我将ComboBox放在方法的第二个方法中

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;
}

它不会让我这样做,是否有解决方法?或者我应该留下它是怎么回事?

1 个答案:

答案 0 :(得分:1)

那是因为一个对象不是一个组合框,为什么它会有一个选定的索引呢?尝试int index =(box as ComboBox).SelectedIndex; - robert.woods

这很有效,但后来我意识到我的错误是多么愚蠢,

我不知道我可以直接添加ComboBox作为参数,

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

工作正常,

P.S。在!!之后看到这个评论。

如果你只是将ComboBox传递给方法,那么为什么不创建方法为"公共静态字符串updateHexListNumbers(string textboxHex,ComboBox box)"在第一个例子中 - 那么你不需要投射对象。如果要将不同类型的对象传递给方法,则需要在进行强制转换之前检查类型。 - PaulF