我需要帮助才能找到所选颜色是否为空。
因为如果我不选择颜色,我会收到错误
这是我收到错误的代码:
private void btnreturn_Click(object sender, RoutedEventArgs e)
{
int gettext;
int.TryParse(txtcount.Text, out gettext);
Color Colorpicker;
//this is where I am getting my error and I need to
//check to see if the selected colour is not null before taking its value
Colorpicker = (Color)colorpicker.SelectedColor;
MainWindow win2 = new MainWindow(gettext, Colorpicker);
win2.Show();
Close();
}
答案 0 :(得分:0)
似乎当您没有从colorpicker
中选择颜色时,colorpicker.SelectedColor
为null
,并导致您的错误。
您可以在代码中检查这一点,如下所示:
private void btnreturn_Click(object sender, RoutedEventArgs e)
{
int gettext;
int.TryParse(txtcount.Text, out gettext);
Color Colorpicker;
// Check if the SelectedColor is not null, and do stuff with it
if (colorpicker.SelectedColor != null)
{
Colorpicker = (Color)colorpicker.SelectedColor;
MainWindow win2 = new MainWindow(gettext, Colorpicker);
win2.Show();
Close();
}
else
{
// You didn't select a color... do something else
}
}
旁注:如果您使用的是C#6,并且希望确保colorpicker
对象不是null
,请{{1}检查 - 您也可以使用if
。请注意使用colorpicker?.SelectedColor
在检查其属性之前检查基础对象是否为空。
我还建议更清楚,更有意义地命名你的变量......
例如,您的?
变量声明。它不适合Color Colorpicker;
吗?
希望这有帮助!
答案 1 :(得分:-1)
If (Colorpicker != null)
{
//Do code
}
else
{
}
这会检查' Colorpicker'不等于null。
无法发表评论,所以如果这不是你需要的,我向你道歉c:
答案 2 :(得分:-1)
会是这样的吗?在尝试添加它之前检查它是否为null。或者使用不同的值初始化变量。
private void btnreturn_Click(object sender, RoutedEventArgs e)
{
int gettext;
int.TryParse(txtcount.Text, out gettext);
Color Colorpicker;
//this is where i am getting my error and i need to
//check to see if the selected colour is not null before taking it's value
if(colorpicker.SelectedColor != null){
Colorpicker = (Color)colorpicker.SelectedColor;
MainWindow win2 = new MainWindow(gettext, Colorpicker);
win2.Show();
Close();
} else {
//do something else
}
}
编辑:根据@Geoff James,删除演员(颜色)