`
netxdiy
  • 浏览: 728932 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

让MessageBox弹出在当前窗体的中央,而不是在屏幕的中央

 
阅读更多

WinForm中默认的MessageBox默认的弹出位置在屏幕的center,而且没有属性可以修改它,所以在当前活动窗体不在中央时,将会出现,弹出的MessageBox的错位,如下:

邀月工作室

而我们有时需要的是这样:

邀月工作室

昨天看到Codeproject上有一篇文章:《Centering MessageBox, Common DialogBox or Form on applications》,

http://www.codeproject.com/KB/dialog/CenterDialog.aspx

原文的实现原理是:在对话框被打开前,增加了一个WH_CALLWNDPROC hook 来查找WM_INITDIALOG message,其实是一个学习钩子的好示例。

关键代码:

调试时,发现不能实现想要的效果,检查了下代码,增加了一行,OK!(原代码中的枚举值少了一个关键值。邀月[3w@live.cn]注)

附:

代码下载二

代码下载

邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 3w@live.cn


分享到:
评论

相关推荐

    让MessageBox弹出在当前窗体的中央(C#)

    WinForm中默认的MessageBox默认的弹出位置在屏幕的center,而且没有属性可以修改它,所以在当前活动窗体不在中央时,将会出现,弹出的MessageBox的错位。本代码实现MessageBox在当前窗体中央显示。

    【C#源码】messageBox居中父窗体

    标题“【C#源码】messageBox居中父窗体”提示我们要解决的问题是,如何使`MessageBox`在显示时居中于它的父窗体,而不是默认的居中于屏幕。这个问题在开发桌面应用程序时非常常见,因为用户可能期望对话框与触发它的...

    Winform 设置messageBox弹出窗体的button的text

    本文将详细介绍如何在Winform应用中设置MessageBox弹出窗体的按钮文本。 首先,要理解MessageBox是.NET Framework提供的一个静态类,它包含了多个静态方法,用于显示带有一个或多个按钮的简单消息框。例如,`...

    c#屏幕下方弹出提示窗体

    在C#编程中,屏幕下方弹出提示窗体通常是用于向用户显示简短的信息或确认...通过以上方法,你可以创建一个在屏幕下方弹出的提示窗体,提供信息或引导用户执行特定操作。记住,合理使用提示窗体可以提升应用的用户体验。

    弹出窗体,像qq那样

    在这些库中,`Form`类或`Window`类是窗体的基础,而`MessageBox`类则提供了简单的预定义弹出对话框。 如果你想要创建一个自定义的弹出窗体,可以: 1. **创建新窗体类**:继承自`Form`类或`Window`类,然后在类中...

    delphi 自定义消息框Messagebox居中

    - 要让自定义的消息框居中显示,首先需要获取当前活动窗口(通常是主窗体)的位置和大小,以及屏幕的工作区大小。 - 使用`Screen.WorkAreaRect`获取屏幕工作区的矩形区域,这将排除任务栏和其他屏幕边缘的非工作...

    c#教你如何自动关闭MessageBox弹出的窗口

    我们都知道,MessageBox弹出的窗口是模式窗口,模式窗口会自动阻塞父线程的.所以如果有以下代码: MessageBox.Show("内容',"标题"); ....其它代码... 则只有关闭了MessageBox的窗口后才会运行下面的代码.而在某些...

    自定义messagebox,提示窗体

    4. **显示自定义MessageBox**:在需要弹出提示的地方,使用自定义`MessageBox`替换系统的`MessageBox.Show()`方法。确保在调用时传递必要的参数,如提示信息,以及可能需要的其他设置。 5. **代码实现**:以下是一...

    C#自制messagebox窗口

    本教程将深入探讨如何在C#中自制`MessageBox`窗口,让你能够创建具有个性化设计和功能的消息提示。 1. **创建自定义对话框类** - 首先,你需要创建一个新的Windows Forms窗体,作为自定义`MessageBox`的基础。在...

    MessageBox控制显示位置

    使系统的MessageBox显示位置可以改变

    VB控制MessageBox,包括定时关闭、居中于窗体和改变字体

    为了让`MessageBox`居中于当前活动窗体,可以使用`Form.ActiveForm`属性获取活动窗体,然后计算`MessageBox`的位置。下面的代码演示了如何实现这一功能: ```vb Dim msgBoxPos As Point msgBoxPos.X = (Form....

    pb控制弹出窗口,在屏幕中间位置

    在提供的文件列表中,`pb中控制窗口弹出在屏幕中间.txt`可能包含了更详细的实现步骤或示例代码,你可以查阅该文件以获取更具体的信息。总的来说,掌握这些知识点可以帮助你在PowerBuilder应用程序中轻松实现窗口居中...

    C#自定义按钮、自定义WinForm无边框窗体、自定义MessageBox窗体

    本例子包含C#自定义按钮、自定义WinForm无边框窗体、自定义MessageBox窗体 三个小例子,具体展现效果可以到:http://www.cnblogs.com/JiYF/p/8686463.html查看

    C# 多线程 模态 MessageBox

    在多线程中,有时候使用MessageBox.Show方法弹出对话框,弹出的Messagebox不是模态的,不能满足我的要求.所以有了这段代码.

    利用钩子函数,截获任何弹出的消息框MessageBox

    标题提到的“利用钩子函数,截获任何弹出的消息框MessageBox”就是利用钩子机制来拦截并处理`MessageBox`函数的调用。`MessageBox`是Windows API中用于显示一个包含消息的对话框的函数,通常用于向用户显示警告或...

    在窗体退出前弹出对话框C#源代码

    标题提到的"在窗体退出前弹出对话框C#源代码"是实现这一功能的具体代码示例。在VS2008环境下,我们可以利用Form类的Closing事件来实现这个功能。 首先,让我们了解一下Closing事件。当用户尝试关闭窗体(例如,点击...

    控制MessageBox的弹出方式

    在VB中,我们可以通过设置`MessageBox`的不同属性来控制其弹出方式,以满足不同场景的需求。 首先,`MessageBox`的核心在于它的显示样式,这通常通过`MessageBox.Show`方法来设定。`Show`方法接受一个字符串参数...

    Wincc中弹出对话框函数MessageBox参数以及应用

    在工业自动化领域,特别是使用西门子Wincc开发环境进行图形化用户界面设计时,弹出对话框(MessageBox)是非常常见的功能需求之一。通过调用`MessageBox`函数,可以向用户展示必要的信息、警告或是错误提示,并允许...

    C#弹出非全屏窗体自定义

    这个主题,"C#弹出非全屏窗体自定义",涉及到如何使用Visual Studio 2005(或者更高版本)来设计一个不占据整个屏幕的窗口,并对其进行自定义,以提供更丰富的用户体验。以下将详细介绍这一过程的关键知识点: 1. *...

    C# 嵌套窗体 先弹出子窗体,再弹出对话框,c#2008编写的,有没有兴趣看一下呢?其实也没有什么,一个入门级的窗体实例,运行后如上图所示的样子。

    在描述中提到的C#2008项目,我们看到的是一个简单的入门级实例,它演示了如何先弹出一个子窗体,然后在子窗体中进一步弹出对话框。 首先,让我们理解"嵌套窗体"的概念。在C#中,一个窗体可以作为另一个窗体的成员...

Global site tag (gtag.js) - Google Analytics