消息框显示后如何停止功能

时间:2012-10-05 10:18:56

标签: c# wpf function c#-4.0 c#-3.0

public void CreateFileOutput(object parameter)
{
    TransactFileCreation();

    WPFMessageBox.Show("test", "Process completed successfully.");
}

public void TransactFileCreation()
{
    if (BatchFolderPath == null)
    {
         WPFMessageBox.Show("test", "Select a Batch folder");
         return;
    }
    // code..
}

我从CreateFileOutput()调用TransactFileCreation()。显示消息框后,该功能将不再起作用。但在我的情况下,它再次转到main函数并显示其中的msg框。如何在显示消息框后停止执行。给我一个解决方案。感谢。

4 个答案:

答案 0 :(得分:3)

你可以返回一个布尔值:

public bool TransactFileCreation()
{
    if (BatchFolderPath == null)
    {
         WPFMessageBox.Show("test", "Select a Batch folder");
         return false;
    }
    // code..
    return true;
}

然后你这样打电话:

public void CreateFileOutput(object parameter)
{
    if (!TransactFileCreation())
        return;

    WPFMessageBox.Show("test", "Process completed successfully.");
}

答案 1 :(得分:2)

通常,您从bool返回TransactFileCreation,告知操作是否成功。

或者在严重的情况下,您会抛出异常,但这仅适用于非常规错误流。

答案 2 :(得分:0)

您可以使用Application.Current.Shutdown();从任何位置退出应用程序。

public void TransactFileCreation()
{
    if (BatchFolderPath == null)
    {
         WPFMessageBox.Show("test", "Select a Batch folder");
         Application.Current.Shutdown();
    }
    // code..
}

答案 3 :(得分:0)

创建TransactFileCreation()以返回bool。

 public void CreateFileOutput(object parameter) 
    { 
        TransactFileCreation()? WPFMessageBox.Show("test", "Process completed successfully."):WPFMessageBox.Show("test", "Select a Batch folder");
    } 

    public boolTransactFileCreation() 
    { 
        return BatchFolderPath == null 

    }