标签: messagebox

5
推荐指数
1
解决办法
1649
查看次数

MessageBox的问题

我在C#/ WPF程序中使用MessageBox遇到了奇怪的行为.

创建一个基本的WPF应用程序,在其上放置一些标签和一个按钮.

这是按钮点击的代码

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        MessageBoxResult result;
        do
        {

            result = MessageBox.Show(this, "Please Click here under", "TestBugMessageBox", MessageBoxButton.OKCancel, MessageBoxImage.Information, MessageBoxResult.None);
            if (result.Equals(MessageBoxResult.OK))
            {
                result = MessageBox.Show(this, "Is it the first time you see it ?", "TestBugMessageBox", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None);
            }
        } while (result.Equals(MessageBoxResult.Yes));
    }
Run Code Online (Sandbox Code Playgroud)

然后将窗口放在屏幕的中心(为了让MessageBox覆盖一些标签)

点击是三次,没有最后一次,你会看到问题(我希望):

消息框保持显示在应用程序上.

你能让我知道它有什么问题吗?

c# wpf refresh messagebox

5
推荐指数
1
解决办法
1116
查看次数

C#DLL消息框

是否可以让C#DLL打开一个消息框?就像在WinForm中一样:

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

我认为DLL不能直接执行,但是如果它被注入到要运行的进程中,那么它可以显示消息框(如果可能的话).

c# dll messagebox

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

C#消息框,可变用法

我搜索过,但我不知道我是否正在使用正确的措辞来搜索.我正在用C#为我的班级写一个程序,但是我遇到了消息框的问题.

我试图让消息框显示一条消息并同时读取一个变量.我在控制台应用程序中执行此操作没有问题,但我无法解决Windows方面的问题.

到目前为止,我有:

MessageBox.Show("You are right, it only took you {0} guesses!!!", "Results", MessageBoxButtons.OK);
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.Howerver我试图让{0}成为变量numGuesses的结果.我确信这很简单,我只是在书中忽略了它,或者我的语法不正确.

c# variables messagebox

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

带MVVM模式的WPF MessageBox?

假设我想向用户显示一些验证错误.在MVVM模式中,我可以有一个标签绑定到我的viewmodel上的某个属性.但是,如果我想在严格遵守MVVM模式的同时显示消息框,该怎么办呢?我的viewmodel会绑定什么,以及它将如何触发创建/显示消息框?

.net c# wpf messagebox mvvm

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

添加按钮以复制 MessageBox 中的文本

我有一个程序,其中包含名称列表和一个在消息框中显示随机名称的按钮。有什么方法可以在消息框的“确定”旁边添加一个“复制”按钮,单击该按钮时复制名称然后关闭?

如果上述方法不可能,是否有办法在 MessageBox 中复制文本?

谢谢。

编辑:我的用户不会理解 Ctrl+C,突出显示并右键单击 > 复制是我正在寻找的(如果复制按钮不可用)

c# messagebox winforms

5
推荐指数
1
解决办法
4251
查看次数

在customMessageBox中显示两个文本框?

好吧,我想在下一个旁边显示两个文本框customMessageBox.所以我编写了两个文本框.如下.我命名soora,并ayath为它.但在customMessageBox,我不能同时调用两个文本框.它显示错误.如何在下一个旁边显示两个文本框customMessageBox.我只是错误,它是形式Content = soora + ayath

我的C#代码;

TextBox soora = new TextBox();
                soora.Height = 72;
                soora.Width = 150;
                soora.MaxLength = 3;

TextBox ayath = new TextBox();
                ayath.Height = 72;
                ayath.Width = 150;
                ayath.MaxLength = 3;

CustomMessageBox messageBox = new CustomMessageBox()
            {
                Title = "GO TO",
                Content = soora + ayath,
                RightButtonContent = "Go !",
            };
Run Code Online (Sandbox Code Playgroud)

c# messagebox

5
推荐指数
1
解决办法
1944
查看次数

如何在WPF中为消息框设置不同样式的字体

如何才能非常轻松地获得以下样式的消息框?MessageBox 函数似乎无法解决问题

在此输入图像描述

wpf messagebox

5
推荐指数
1
解决办法
4468
查看次数

来自后台线程的模态消息框

我注意到当 MessageBox 处于模式状态时,行为似乎不一致。

首先,从 UI 线程启动 MessageBox。这会产生一个模态 MessageBox,正如预期的那样:

void MainThreadClick(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("Hello!");
    }
Run Code Online (Sandbox Code Playgroud)

接下来,从后台线程启动。这会导致无模式 MessageBox,我猜是因为它不在 UI 线程上?

void WorkerThreadClick(object sender, RoutedEventArgs e)
    {
        ThreadPool.QueueUserWorkItem((x) =>
        {
            MessageBox.Show("Hello!");
        });
    }
Run Code Online (Sandbox Code Playgroud)

接下来,从后台线程启动,但分派到 UI 线程,导致它再次成为模态:

void WorkerThreadClick(object sender, RoutedEventArgs e)
    {
        ThreadPool.QueueUserWorkItem((x) =>
        {
            Application.Current.Dispatcher.Invoke(() =>
            {
                MessageBox.Show("Hello!");
            });
        });
    }
Run Code Online (Sandbox Code Playgroud)

最后,这是一个奇怪的问题,与上面类似,但使用 FileSystemWatcher 线程会导致无模式对话框。为什么是这样?...它是在 UI 线程上调用的,那么为什么它不像前面的示例那样是模态的呢?

public MainWindow()
    {
        InitializeComponent();

        m_watcher = new FileSystemWatcher()
        {
            Path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
            NotifyFilter = NotifyFilters.LastWrite,
            IncludeSubdirectories = true,
            Filter = "*.*"
        };

        m_watcher.Changed += …
Run Code Online (Sandbox Code Playgroud)

wpf modal-dialog messagebox background-thread

5
推荐指数
1
解决办法
1379
查看次数

pyqt5 - 关闭/终止应用程序

我正在使用这里发现的pyqt5教程Zetcode,PyQt5

作为我自己的练习,我正在尝试扩展一个示例,以便无论用于关闭应用程序的方法如何,我都会看到相同的对话框消息框:

  • 单击标题栏中的"X"按钮(按预期工作)
  • 单击"关闭"按钮(产生属性错误)
  • 按"退出"键(工作但不确定如何/为什么)

对话框消息框在closeEvent方法中实现,最后提供完整脚本.

我有两个问题:

1.单击"关闭"按钮时,我想调用closeEvent包括消息框对话框的方法,而不是仅仅退出.

我已经为"关闭"按钮替换了一行示例代码:

btn.clicked.connect(QCoreApplication.instance().quit)
Run Code Online (Sandbox Code Playgroud)

而是试图调用closeEvent已经实现我想要的对话框的方法:

btn.clicked.connect(self.closeEvent)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行脚本并单击"关闭"按钮并在对话框中选择生成的"关闭"选项时,我得到以下内容:

Traceback (most recent call last):
File "5-terminator.py", line 41, in closeEvent
    event.accept()
AttributeError: 'bool' object has no attribute 'accept'
Aborted
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我做错了什么,需要做什么?

2.当以某种方式点击转义键时,会显示消息框对话框并且工作正常.

好的,它的功能很棒,但是我想知道CloseEvent方法中定义的消息框功能是如何以及为什么在方法中调用的keyPressEvent.

完整脚本如下:

import sys
from PyQt5.QtWidgets import (
    QApplication, QWidget, QToolTip, QPushButton, QMessageBox)
from PyQt5.QtCore import QCoreApplication, Qt


class Window(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        btn = QPushButton("Close", self)
        btn.setToolTip("Close Application")
        # btn.clicked.connect(QCoreApplication.instance().quit) …
Run Code Online (Sandbox Code Playgroud)

python messagebox exit terminate pyqt5

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