精华内容
下载资源
问答
  • 2019-01-15 16:59:24

    在使用C#做Windows窗体应用的时候,我遇到了一个问题:

    我想在一个窗体中弹出一个带有文本框、标签、按钮等常用

    控件的对话框,换句话说就是自己定制的“对话框”,我们知

    道,在MFC里这样是可以是实现的,但是在C#中,只是给定

    了几种特定的对话框形式,自身定制并不像MFC那样直接添

    加控件就能实现。

    C#中是这样的一个思路:我们可以采用两个独立的窗体,然

    后将另一个独立的窗体看作是一个对话框类型的窗体,然后

    我们就可以直接生成自身定制的对话框窗体了。

    C# 窗体对象中有一个 ShowDialog() 方法,这个方法将窗体

    显示为模式对话框,返回值为 DialogResult(跟正常的对话

    框结果例如OK、Cancel等相同)。

    更多相关内容
  • 内容索引:C#源码,菜单窗体,嵌套窗体,对话框 C#嵌套窗体,先弹出子窗体,再弹出对话框,c#2008编写的,有没有兴趣看一下呢?其实也没有什么,一个入门级的窗体实例,运行后如上图所示的样子。
  • C#窗体编程:对话框

    2021-01-29 16:55:37
    阻塞的效果: 1 方法卡在ShowDialog 这一行,不往下执行 2 对话框窗口可以活动,后面的父窗口不可以活动 可以理解,ShowDialog()内部有一个while循环,在一直等待窗口关闭事件。 对话框属性 (外观) Text 窗口标题...

    在这里插入图片描述

    手动添加事件

            public Form1()
            {
                InitializeComponent();
    
                testButton.Click += new EventHandler(this.OnTest);
                button1.Click += new EventHandler(this.OnTest);
                button1.Name = "button1";
                testButton.Name = "hhh";
            }
    
            public void OnTest(object sender, EventArgs e) 
            {
                Button btn = sender as Button;
                
                MessageBox.Show($"大家好 {btn.Name} ");
            }
    

    对话框

    系统自带的一些对话框类

      OpenFileDialog 打开文件对话框
      SaveFileDialog 保存文件对话框
      FolderBrowserDialog 目录选择对话框
      ColorDialog 颜色选择对话框
      FontDialog 字体选择对括框
    

    对话框内存销毁

    Form窗口对象含有非托管资源,需要手工销毁
    

    对话框的阻塞

    示例:
      MyDialog dlg = new MyDialog();
      dlg.ShowDialog(this);
      dlg.Dispose();
    阻塞的效果:
    1 方法卡在ShowDialog 这一行,不往下执行
    2 对话框窗口可以活动,后面的父窗口不可以活动
    
    可以理解为,ShowDialog()内部有一个while循环,在一直等待窗口关闭事件。
    

    对话框属性

    (外观) Text 窗口标题
    (窗口样式) MaximizeBox 最大化按钮
    (窗口样式) MinimizeBox 最小化按钮
    (窗口样式) ShowInTaskbar 是否在任务栏显示
    (布局) StartPosition 窗口显示位置
    (外观) FormBorderStyle 边框设定/是否可以调整大小
    

    对话框的返回

    当对话框关闭时,ShowDialog() 返回一个值
    示例:
      MyDialog dlg = new MyDialog();
      DialogResult rc = dlg.ShowDialog();            
      dlg.Dispose();
    
    怎么让对话框关闭呢?
    
    设置 Form.DialogResult 属性时,可以关闭对话框
    示例:
         void okButton_Click(object sender, EventArgs e)
         {
             this.DialogResult = DialogResult.OK;
         }
    并且,这个 DialogResult 就是 ShowDialog() 的返回值
    
    有输入框的时候,取得用户输入
    先判断用户是点了‘确定’还是‘取消’
    再从对话框中取得用户的输入值 
       DialogResult rc = dlg.ShowDialog();
       if(rc == DialogResult.OK)
       {
             string str = dlg.edit.Text;
             ……
       }
    
    设置 DialogResult,有两层作用:
    关闭对话框
    设定返回值,ShowDialog() 返回的值
    先判断,再处理,最后关闭
    

    对话框的默认响应

    属性中设置
    AcceptButton: 当按回车键时触发
    CancelButton: 当按ESC键时触发
    
    另外,当点叉号关闭窗口时,相当于Cancel
    
    展开全文
  • 模式对话框作为父窗体,与非模式子对话框之间通过自定义消息通讯,同时设置对话框为透明窗体
  • 透明窗体—双对话框

    2012-09-29 09:14:17
    透明窗体—双对话框:一对话框只显示图片,另一对话框只显示控件,整体达到背景透明,控件不透明效果
  • VC_SDK例子_菜单栏加速键_多窗体对话框.zip
  • C#324-窗体对话框 源代码
  • 摘要:VB源码,界面编程,对话框,弹出框 调用常用窗体对话框的例子集,比如调用一些对话框、弹出框、提示框、某模块的面板等,帮助了解与Windows系统的相关配合功能的实现。
  • VC++使用位图绘制对话框窗体
  • <%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”showdialog_dialog.aspx.cs” Inherits=”WSHelpDoc_showdialog_dialog” %> 代码如下:<!DOCTYPE html PUBLIC “-//W3C//DTD ...<head
  • 内容索引:VC/C++源码,界面编程,IE,浏览器 闲来无事,做下无聊程序,编译环境VC++,在窗体对话框中打开新的IE窗口,或是HTML网页,对话框显示/打开网页,利用默认浏览器打开网页:  1)对话框内部显示HTML网页.  2)...
  • 需要被设置到焦点的空间的tab order设1. 2. 对话框的OnInitDialog返回FALSE。解释如下:(摘抄至msdn)   If OnInitDialog returns nonzero, Windows sets the input focus to the first control in the dialog ...
  • Qt中主要的窗体类及其用途     常用的窗体基类是QWidget、QDialog和QMainWindow,在创建GUI应用程序时选择窗体基类就是从这3个类中选择。QWidget直接继承于QObject,是QDialog和QMainWindow的父类,其他继承于...

    Qt中主要的窗体类及其用途

        常用的窗体基类是QWidget、QDialog和QMainWindow,在创建GUI应用程序时选择窗体基类就是从这3个类中选择。QWidget直接继承于QObject,是QDialog和QMainWindow的父类,其他继承于QWidget的窗体类还有QSplashScreen、QMdiSubWindow和QDesktopWidget。另外还有一个类QWindow,它同时从QObject和QSurface继承。这些类的继承关系如图所示。

    类继承关系
    这些窗体类的主要特点和用途如下。

    QWidget:在没有指定父容器时可作为独立的窗口,指定父容器后可以作为容器的内部组件。
    QDialog:用于设计对话框,以独立窗口显示。
    QMainWindow:用于设计带有菜单栏、工具栏、状态栏的主窗口,一般以独立窗口显示。
    QSplashScreen:用作应用程序启动时的splash窗口,没有边框。
    QMdiSubWindow:用于为QMdiArea提供一个子窗体,用于MDI(多文档)应用程序的设计。
    QDesktopWidget:具有多个显卡和多个显示器的系统具有多个桌面,这个类提供用户桌面信息,如屏幕个数、每个屏幕的大小等。
    QWindow:通过底层的窗口系统表示一个窗口的类,一般作为一个父容器的嵌入式窗体,不作为独立窗体。

    关于窗体类的重要函数

    1.setAttribute()函数

    setAttribute()函数用于设置窗体的一些属性,其函数原型为:

    void  QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on = true)
    

    枚举类型Qt::WidgetAttribute定义了窗体的一些属性,可以打开或关闭这些属性。枚举类型Qt::WidgetAttribute 常用的常量及其意义见表1。

    表1 枚举类型Qt::WidgetAttribute 常用的常量
    常量意义
    Qt::WA_AcceptDrops允许窗体接收拖放来的组件
    Qt::WA_DeleteOnClose窗体关闭时删除自己,释放内存
    Qt::WA_Hover鼠标进入或移出窗体时产生paint事件
    Qt::WA_AcceptTouchEvents窗体是否接受触屏事件

    2.setWindowFlags()函数

    setWindowFlags()函数用于设置窗体标记,其函数原型是:

    void  QWidget::setWindowFlags(Qt::WindowFlags type)
    

    参数type是枚举类型Qt::WindowType的值的组合,用于同时设置多个标记。

    另外一个函数setWindowFlag()用于一次设置一个标记,其函数原型为:

    void QWidget::setWindowFlag(Qt::WindowType flag, bool on = true)
    

    可单独打开或关闭某个属性。枚举类型Qt::WindowType常用的常量值见表2。

    表2 枚举类型Qt::WindowType常用的常量
    常量意义
    表示窗体类型的常量
    Qt::Widget这是QWidget类的缺省类型。这种类型的窗体,如果它有父窗体,就作为父窗体的子窗体;否则就作为一个独立的窗口
    Qt::Window表明这个窗体是一个窗口,通常具有窗口的边框、标题栏,而不管它是否有父窗体
    Qt::Dialog表明这个窗体是一个窗口,并且要显示为对话框(例如在标题栏没有最小化、最大化按钮)。这是QDialog类的缺省类型
    Qt::Popup表明这个窗体是用作弹出式菜单的窗体
    Qt::Tool表明这个窗体是工具窗体,具有更小的标题栏和关闭按钮,通常作为工具栏的窗体
    Qt::ToolTip表明这是用于Tooltip消息提示的窗体
    Qt::SplashScreen表明窗体是splash屏幕,是QSplashScreen类的缺省类型
    Qt::Desktop表明窗体是桌面,这是QDesktopWidget类的类型
    Qt::SubWindow表明窗体是子窗体,例如QMdiSubWindow就是这种类型
    控制窗体显示效果的常量
    Qt::MSWindowsFixedSizeDialogHint在Windows平台上,使窗口具有更窄的边框,用于固定大小的对话框
    Qt::FramelessWindowHint创建无边框窗口
    定制窗体外观的常量,要定义窗体外观,需要先设置
    Qt::CustomizeWindowHint
    Qt::CustomizeWindowHint关闭缺省的窗口标题栏
    Qt::WindowTitleHint窗口有标题栏
    Qt::WindowSystemMenuHint有窗口系统菜单
    Qt::WindowMinimizeButtonHint有最小化按钮
    Qt::WindowMaximizeButtonHint有最大化按钮
    Qt::WindowMinMaxButtonsHint有最小化、最大化按钮
    Qt::WindowCloseButtonHint有关闭按钮
    Qt::WindowContextHelpButtonHint有上下文帮助按钮
    Qt::WindowStaysOnTopHint窗口总是处于最上层
    Qt::WindowStaysOnBottomHint窗口总是处于最下层
    Qt::WindowTransparentForInput窗口只作为输出,不接受输入

        Qt::Widget、Qt::Window等表示窗体类型的常量可以使窗体具有缺省的外观设置,如果设置为Qt::Dialog类型,则窗体具有对话框的缺省外观,例如标题栏没有最小化、最大化按钮。

    控制窗体显示效果和外观的设置项可定制窗体的外观,例如设置一个窗体只有最小化最大化按钮,没有关闭按钮。

    3.setWindowState()函数

        setWindowState()函数使窗口处于最小化、最大化等状态,其函数原型是:

    void QWidget::setWindowState(Qt::WindowStates windowState)
    

    枚举类型Qt::WindowState表示了窗体的状态,其取值见表3。

    表3 枚举类型Qt:: WindowState的常量
    常量意义
    Qt::WindowNoState正常状态
    Qt::WindowMinimized窗口最小化
    Qt::WindowMaximized窗口最大化
    Qt::WindowFullScreen窗口填充整个屏幕,而且没有边框
    Qt::WindowActive变为活动的窗口,例如可以接收键盘输入

    4.setWindowModality()函数

        setWindowModality()函数用于设置窗口的模态,只对窗口类型有用。其函数原型为:

    void setWindowModality(Qt::WindowModality windowModality)
    

    枚举类型Qt::WindowModality的取值意义见表4。

    表4 枚举类型Qt:: WindowModality的常量
    常量意义
    Qt::NonModal无模态,不会阻止其他窗口的输入
    Qt::WindowModal窗口对于其父窗口、所有的上级父窗口都是模态的
    Qt::ApplicationModal窗口对整个应用程序是模态的,阻止所有窗口的输入

    5.setWindowOpacity()函数

        setWindowOpacity()函数用于设置窗口的透明度,其函数原型如下:

    void QWidget::setWindowOpacity(qreal level)
    

    参数level是1.0(完全不透明)至0.0(完全透明)之间的数。窗口透明度缺省值是1.0,即完全不透明。

    展开全文
  • 窗体对话框

    2008-06-09 09:01:26
    买了本2005编程技巧 还看不太懂和大家分享下
  • C#在关闭窗体时可以设置对话框供用户选择是否关闭

    C#在关闭窗体时可以设置对话框供用户选择是否关闭

    public Form1()
    {
        InitializeComponent();
        this.FormClosing += (o, e) =>
        {
            Stop();
            if (e.CloseReason == CloseReason.UserClosing)
            {
                e.Cancel = MessageBox.Show("将要退出本程序?", "温馨提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK;
                CloseDev();
            }
        };
    }
    
    展开全文
  • 窗体退出前弹出对话框提示是否确认退出,C#源代码,vs2008
  • 在使用C#做Windows窗体应用的时候,我遇到了一个问题: 我想在一个窗体中弹出一个带有文本框、标签、按钮等常用 控件的对话框,换句话说就是自己定制的“对话框”,我们知 道,在MFC里这样是可以是实现的,但是在C#中...
  • 简单窗体 1.创建窗口类,从CWindowImpl类派生;例子如下: (代码:myChild.h) 1.1创建一个窗口类 1.1.1弹出式窗口类(myPopup.h) class CMyPopup : public CWindowImpl<CMyPopup, CWindow, CFrameWinTraits &...
  • C#窗口变成模式对话框

    千次阅读 2017-10-13 22:32:27
    Form4 win4 = new Form4(); win4.ShowDialog();
  • 内容索引:VC/C++源码,界面编程,Tab,选项卡 含多种窗体元素的VC++演示对话框,其实也就是些基础的窗体元素,比如复选框、窗体标签(TAB或选项卡)、添加文件、浏览文件等,有兴趣的可参考参考。
  • JDialog窗体一、JDialog窗体二、重点内容1.super(超级)2.按钮Btton三、源码四、源码运行效果五、补充说明六、与小恐龙挑战的关系六、定位日期 一、JDialog窗体 JDialog窗体常用功能是从一个窗体中弹出另一个窗体。...
  • !... 主窗口上面是一个容器panel,里面有3个下拉框,左边是一个toolStrip菜单栏,剩余部分是一个panel1(用来... // 添加w1窗体这里显示:非顶级窗体不能显示模式对话框。在调用 Show 之前应从所有父窗体中移除该窗体
  • 方法一: 在OnPaint函数的else下添加4行代码: else { CRect rect; CPaintDC dc(this); GetClientRect(rect); dc.FillSolidRect(rect, ...得到的效果:窗体背景上色,任何控件都不上色,包括编辑框。如图: 方法二...
  • JFrame 说明:在 Swing 组件中,最常见的一个容器就是JFrame...这个时候运行程序是什么都看不见的,那我们就要设置窗体可见: jf.setVisible(true); 这个时候发现窗体是左上角很小很小几乎看不见的一条横杠,那我们要
  • 真心不错的窗体绘制技巧,VC++使用BMP位图绘制漂亮的对话框窗体,先看下测试截图怎么样?漂亮吧?大致说下实现的思路:绘制对话框非客户区域,计算标题栏的高度,获取窗口区域。  第一步绘制对话框的左边框,计算...
  • MFC对话框向主窗体传递消息机制,用图+文字描述,很直观,只要照着图上的步骤做就能实现。绝对有用
  • 内容索引:VB源码,界面编程,子窗体 VB弹出子窗体,并控制其变换背景色,类似于一个控件台与子窗口的对话,在控制台窗体中,可打开一个新的VB子窗体,通过控制台可对子窗体的背景色进行控制,适时变换红、黄、绿三...
  • visual c++开发windows service,服务的功能就是个GUI窗体 vc基于MFC对话框的NT服务程序框架.zip
  • 透明对话框,调节参数,是对话具有透明感,透明对话框,调节参数,是对话具有透明感
  • 窗体Form1关键代码: 窗体最为对话框模式弹出,当窗体关闭或取消时更新主窗体 代码如下: private void simpleButton1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Owner = this; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,104
精华内容 25,641
关键字:

怎么将窗体设置为对话框窗体