标签: messagebox

如何将Wpf MessageBox.Owner设置为桌面窗口,因为SplashScreen关闭了MessageBox

我通过将位图的Build Action设置为Splashscreen来在WPF中使用SplashScreen功能.在启动屏幕后面,正在检查许可信息,如果失败,我会显示一个MessageBox.

根据这个反馈,这是因为MessageBox.Owner是启动画面,一旦另一个窗口打开,即使它是一个MessageBox,关闭启动画面窗口然后关闭MessageBox,所以用户永远不会看到消息框.

因此,解决方法是将MessageBox.Owner设置为另一个窗口,但这意味着我必须实例化另一个甚至可能不需要的窗口.

是否可以将MessageBox.Owner设置为桌面窗口?以及如何,因为唯一想到的其他函数是GetDesktopWindow() api函数,但它返回一个窗口句柄,MessageBox.Owner是一个WPF窗口.

wpf messagebox

9
推荐指数
3
解决办法
1万
查看次数

如何使用tkinter创建消息框?

我一直在尝试在tkinter中构建一个相当简单的消息框,其中包含"YES"和"NO"按钮.当我在内部按下"YES"按钮时,它必须转到并向文件写入YES.类似地,当按下"NO"时,必须将NO写入文件.我怎样才能做到这一点?

python tkinter messagebox

9
推荐指数
3
解决办法
6万
查看次数

MVVM异常处理

我有一个WPF应用程序,我一直试图用MVVM样式编写.如果抛出异常(比如打开文档时),我想显示一个MessageBox.容易做,但我的代码感觉不太正确,因为MessageBox.Show调用在ModelView中.我认为那种东西应该存在于View中,但我不应该把代码放在View中.

那么问题真的可以归结为在MVVM中显示MessageBox的建议方式是什么?

c# wpf messagebox mvvm

9
推荐指数
2
解决办法
7404
查看次数

使用WPF中的Backgroundworker为主应用程序弹出MessageBox

在WPF应用程序中,我使用BackgroundWorker定期检查服务器上的条件.虽然工作正常,但我希望弹出一个MessageBox,如果在检查过程中出现故障,请通知用户.

这就是我所拥有的:

public static void StartWorker()
{
    worker = new BackgroundWorker();

    worker.DoWork += DoSomeWork;
    worker.RunWorkerAsync();
}

private static void DoSomeWork(object sender, DoWorkEventArgs e)
{
    while (!worker.CancellationPending)
    {
        Thread.Sleep(5000);

        var isOkay = CheckCondition();

        if(!isOkay)
           MessageBox.Show("I should block the main window");                
    }   
}
Run Code Online (Sandbox Code Playgroud)

但是这个MessageBox不会阻塞主窗口.我仍然可以点击我的WPF应用程序并使用MessageBox更改我喜欢的任何内容.

我该如何解决这个问题?谢谢,


编辑:

作为参考,这是我最终做的事情:

public static void StartWorker()
{
    worker = new BackgroundWorker();

    worker.DoWork += DoSomeWork;
    worker.ProgressChanged += ShowWarning;
    worker.RunWorkerAsync();
}

private static void DoSomeWork(object sender, DoWorkEventArgs e)
{
    while (!worker.CancellationPending)
    {
        Thread.Sleep(5000);

        var isOkay = CheckCondition();

        if(!isOkay)
           worker.ReportProgress(1); …
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading messagebox backgroundworker

9
推荐指数
3
解决办法
2万
查看次数

Qt:当你在一个函数内时如何显示一个Messagebox?

我正在使用Qt Nokia SDK进行开发.

在尝试在函数中显示消息框时,我无法显示MessageBox的按钮.如果我尝试在主窗口中显示它,显示按钮没有问题.

主窗口包含一个包含不同小部件的QStackWidget.

这是在主窗口中工作的代码:

QMessageBox msgBox;
msgBox.setText("Name");
msgBox.setInformativeText("Do you want to save your changes?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard |
                          QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
Run Code Online (Sandbox Code Playgroud)

这是我在收到来自Web请求的响应后运行的函数和代码(消息框显示,但不显示按钮.

void MainWindow::RequestReceived()
{
    QMessageBox *msgBox = new QMessageBox(this);
    msgBox->setText("Test");
    msgBox->setWindowModality(Qt::NonModal);
    msgBox->setInformativeText("Do you want to save your changes?");
    msgBox->setStandardButtons(QMessageBox::Save | QMessageBox::Discard | 
                               QMessageBox::Cancel);
    msgBox->setDefaultButton(QMessageBox::Save);
    int ret = msgBox->exec();
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道发生了什么?

提前致谢!

c++ qt messagebox button

9
推荐指数
3
解决办法
6万
查看次数

C#格式化MessageBox

我想显示一个MessageBox,提醒用户该过程已完成,并详细说明该过程的每个阶段所花费的时间.我有正确显示格式的文本,但MessageBox类的默认字体不是单宽度.据我所知,没有办法指定文本显示的字体.

是否有一个开箱即用的库可供我使用,或者我将不得不自己写一个?

c# format messagebox winforms

9
推荐指数
2
解决办法
2万
查看次数

消息框和单元测试

我正在尝试找到从我的逻辑中解开消息框的最佳方法,以便我可以正确地对其进行单元测试.现在我想知道如果我只是制作了一个单独的帮助类(C#)就足够了,我可以稍后将其存储到我的消息框中.例如:

static class messageBoxHelper
{
    public static void msgBoxAlg(string message, string title, MessageBoxButtons   buttons, MessageBoxIcon icons, bool show)
    {
        if (show)
        {
            MessageBox.Show(message, title, buttons, icons);
        }
 }
Run Code Online (Sandbox Code Playgroud)

然后,每当我需要使用消息框时,我只使用messageboxHelper/msgBoxAlg(...)而不是messagebox.show(...).使用bool show我可以在测试期间启用或禁用它.

我只是想知道这是否是"正确的方法".我的意思是,是否有更简单或更好的方法来做到这一点?我不能只丢弃消息框,他们将"重要"信息传递给用户("你想关闭这个窗口吗?"是/否等).它也可能只是我没有使用适当的软件工程,我应该将我的消息框与我的bussinesslogic分开更多?

c# unit-testing messagebox

9
推荐指数
1
解决办法
1万
查看次数

如果目标单元格中​​的公式超过某个值,则VBA代码显示消息框弹出窗口

我正在尝试编写一个简单的宏来显示一个弹出窗口(vbOKOnly),如果单元格中的值超过某个值.

我基本上有一个产品和折扣的工作表.我在一个单元格中有一个公式,比如A1,它表示折扣为所有条目的有效折扣百分比(50%或.5).

我正在寻找的是如果单元格A1的值超过50%则显示消息框的代码,因为另一个单元格的输入将折扣推高了50%以上.

谢谢!

excel vba messagebox excel-vba

9
推荐指数
1
解决办法
23万
查看次数

编译简单的字符串

只是想知道c ++或者c#中是否有任何内置函数可以让你在运行时使用编译器?例如,如果我想要翻译:

!print "hello world";
Run Code Online (Sandbox Code Playgroud)

成:

MessageBox.Show("hello world");
Run Code Online (Sandbox Code Playgroud)

然后生成一个exe,然后才能显示上面的消息?几年前我在网上看到过这样做的样本项目但是找不到它了.

c# c++ compiler-construction messagebox

8
推荐指数
2
解决办法
4484
查看次数

WPF MessageBox按钮不是OS主题

因此,WPF中我的消息框的按钮不是OS的主题.
我甚至尝试过这种方法但它没有用.

我有一个清单,我在Windows 7 Ultimate x86和.NET Framework 4 Client Profile下运行.


编辑:它现在有效.

c# wpf messagebox .net-4.0

8
推荐指数
2
解决办法
4986
查看次数