如果selectedItem为null,如何停止弹出窗口

时间:2018-01-25 15:24:15

标签: c# .net oop methods popup

如果selectedItem为空,如何停止程序?我想停止程序,因为Show方法将我selectedItem作为null返回,并且我的列表中显示为空。我只想在selectedItem为空时停止程序?

public static string Show(IList<ListItem> items, string title)
{
    ItemsPopupWindow instance = new ItemsPopupWindow(items, title);
    instance.ShowDialog();
    if (instance.selectedItem == null)
    {

    }
    return instance.SelectedItem;
} 

2 个答案:

答案 0 :(得分:0)

如果您想“关闭”该程序或将其停止。我只是这样做。

string retVal = Foo.Show('YourList', 'YourTitle');
if(string.IsNullOrEmpty(retVal))
{
    // if you have a wpf application
    System.Windows.Application.Current.Shutdown();

    // if you have a winforms application
    Application.Exit();
}

答案 1 :(得分:0)

您可以throw例外。

public static string Show(IList<ListItem> items, string title)
{
    ItemsPopupWindow instance = new ItemsPopupWindow(items, title);
    instance.ShowDialog();
    if (instance.selectedItem == null)
    {
        throw new Exception("The selected item is null.");
    }
    return instance.SelectedItem;
} 

这将停止执行此方法。调用方法可以有一个try / catch块来处理这个问题。如果调用方法没有通过捕获它来处理这个抛出的异常,它将转到调用该方法的方法。如果没有方法处理它,程序将崩溃。

public static void Main() {
    try {
         Show(new List<ListItem>(), "");
    }
    catch(Exception ex){
        Console.Write("An error occurred: " + ex.Message);
    }
}

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/exceptions/