如何检查我的颜色值是否等于空

时间:2016-10-07 15:12:41

标签: c# wpf color-picker

我需要帮助才能找到所选颜色是否为空。

因为如果我不选择颜色,我会收到错误

这是我收到错误的代码:

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

3 个答案:

答案 0 :(得分:0)

似乎当您没有从colorpicker中选择颜色时,colorpicker.SelectedColornull,并导致您的错误。

您可以在代码中检查这一点,如下所示:

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,删除演员(颜色)