首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#学习笔记—— 常用控件说明及其属性、事件

数组中的每个元素表示以此窗体作为父级的多文档界面(MDI)子窗体。 (27)MdiParent属性:用来获取或设置此窗体的当前多文档界面(MDI)父窗体。...MDI程序中的应用程序窗口称为父窗口,应用程序内部的窗口称为子窗口。虽然 MDI应用程序可以具有多个子窗口, 但是每个子窗口却只能有一个父窗口。此外,处于活动状态的子窗口最大数目是 1。...一个子窗口在功能上可能与父窗口的其他子窗口不同,例如,一个子窗口可能用于编辑图像,另一个子窗口可能用于编辑文本,第 3 个子窗口可以使用图形来显示数据,但是所有的窗口都属于相同的MDI父窗口。...值为true时,表示是父窗体,值为false时,表示不是父窗体。 (3)MdiChildren属性:该属性以窗体数组形式返回MDI子窗体,每个数组元素对应一个 MDI子窗体。...与MDI应用程序设计有关的方法中,一般只使用父窗体的LayoutMdi方法,该方法的调用格式如下: MDI父窗体名.LayoutMdi(Value); 该方法用来在MDI父窗体中排列MDI子窗体,以便导航和操作

9.9K20

VB 子窗体被PictureBox控件挡住无法显示

1、问题描述     VB做机房收费系统的时候,用的MDI主窗体,在主窗体上加了一个Picturebox控件,运行的时候,点了子窗体,但是却没有出现,后来才发现,子窗体被Picturebox控件给当在了后面...2、问题原因    在MDI程序中,子窗体实际位于MDIClient里,就是说,子窗体的父窗体是MDIClient,而PictureBox和MDIClient属于同一级的    层次结构    ThunderMDIForm-MDIForm1...hWndChild As Long, ByVal hWndNewParentAs Long) As Long    函数功能:    该函数改变某个子窗口的父窗口。   ...hWndNewParent:新的父窗口句柄。如果该参数是NULL,则桌面窗口就成为新的父窗口。    返回值:    如果函数成功,返回值为子窗口的原父窗口句柄;如果函数失败,返回值为NULL。...,frmMain窗体不可以是MDI窗体,要用一般的Form窗体,否则的话,当你运行的时候,它会提醒你——“实时错误426”,只允许一个MDI窗体。

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++ Qt开发:MdiArea多窗体组件

    该组件主要用于设计多文档界面应用程序,具备有多种窗体展示风格,实现了在父窗体中内嵌多种子窗体的功能,使开发者能够轻松地创建支持多个文档的应用程序。...读者在使用MDI组件时,需要在UI界面中增加mdiArea控件容器,之后所有窗体创建与操作都要在容器内进行,其次由于MDI窗体组件仅仅是一个画布只具备限制窗口的作用,无法实现生成窗体,所以需要在项目中手动增加自定义...这种设置在工具栏上同时显示图标和文本,提供了更直观的用户界面。...在子窗口模式下,QMdiArea管理并显示各个子窗口,允许用户同时查看和编辑多个文档。 析构函数: 析构函数中执行了 delete ui;,确保在对象销毁时释放与ui相关的资源,避免内存泄漏。...,这个创建是无限制的,如下图; 1.3 转换窗体模式 针对模式的转换此处提供了三种模式,分别是MDI模式、级联模式及平铺模式,三种模式的实现只需要调用不同的接口即可实现,代码如下所示; // 转为MDI

    1.8K10

    WPF自学入门(八)WPF窗体之间的交互

    今天我们一起来看一下WPF窗体之间的交互-窗体之间的传值。有两个窗体,一个是父窗体,一个是子窗体。要将父窗体的文本框中的值传递给子窗体中的控件。我们该怎么实现?...接下来我们一起来实现窗体之间的传值,在父窗体上我们放两个控件,一个文本框TxtMessage,另一个是按钮BtnSend.子窗体上放一个文本框TxtInput。 父窗体的界面: ?...子窗体的界面: ? 要实现传值,我们首先要在子窗体中定义一个可读可写的公用的字符串:getMessage。然后在父窗体中按下按钮的时候,定义一个字符串Message,用来存放输入框的文字。...再将Message中存放的输入框的文字传递给子窗体中定义的可读可写的公用字符串getMessage。下面看一下实现的后台代码: 父窗体的后台代码: ? 子窗体的后台代码: ?...父窗体的文本框也是12 ?

    2.5K10

    构建布局良好的Windows程序

    是否显示图像和文本 image    将显示的图像 imageScaling   是否调整图像大小 TextimageRelation  图像与文本的相对位置 ToolStrip工具栏类型 Button...面板:panel 作为容器使用 工具:Visual Studio的"格式"菜单 按住"Ctrl键",选择多个控件 以第一个控件为基准 可以使用anchor(锚定控件) 固定控件与窗体边缘距离 按住Ctrl...键选择多个控件,再设置anchor属性,可以一次选中多个控件 使用dock(停靠控件) dock属性 将控件停靠在窗体的边缘或填充窗体 当某个控件需要充满整个窗体时,设置控件的dock属性是最快捷的方式...SdI:比如记事本 Word等 mdi:多窗口应用程序 比如Excel 浏览器等 至少由连个窗口组成 包括顶级框架窗口(也叫mdi容器)其他文档窗口(也叫子窗口) 创建mdi的步骤 1父窗体的ISMDIIContainer...属性设为true 子窗体的Mdiparent属性设为父窗体 注意: 设置了MDI子窗体不能用SHowDialog() 建立子窗体窗口列表的步骤 设置父窗体菜单控件的mdiwindowlistItem属性选定为窗口菜单项

    1.6K60

    保证相同类型的MDI子窗体只会被打开一次的方法

    本文转载:http://www.cnblogs.com/Ricky81317/archive/2008/09/17/1292443.html 看到论坛中有朋友问,如何可以保证在MDI主窗体中,同一类型的子窗体只能打开一次...我实现的基本思路是: 一般每个子窗体都是继承自Form类型,不同子窗体分别代表不同的功能,因此只需要判断当前MDI打开的子窗体的类型中有没有当前需要打开的子窗体类型就行了,如果有,则直接激活,如果没有则创建一个并加到主窗体中...具体实现起来有很多种办法,这里只写出一个利用泛型的实现: /// /// 打开MDI子窗口并附加到MDI主窗口中,如果MDI主窗口中已经存在相同类型的子窗口,则直接激活 /// /// MDI子窗体类型 /// MDI主窗体引用 //.../ 当前创建或得到的MDI子窗体类型实例的引用 private T OpenUniqueMDIChildWindow(Form mdiParent) where

    1K10

    Coolite Toolkit非常棒的控件

    Coolite Toolkit是基于跨浏览器的ExtJS 库开发而来的,并且简化了开发步骤,并且包含有丰富的Ajax运用。 Coolite Toolkit和ExtJS 都是开源的。...另外就是支持多窗体(MDI)功能,我们知道在C/S的应用程序中很容易实现MDI应用,在一个主窗体中打开多个子窗体,方便客户在不同的窗体间进行切换,支持多任务的操作,但是在B/S的环境下要实现MDI的效果...,一种了借助IE,firefox之类的浏览器实现,问题是的你还得让每个URL的Redirect加上Target的属性,每次谈出新窗口,自然不是很好的解决办法,但是Coolite的页面布局实现了这样的功能...,你可以在多个自窗体之间进行切换。...图表 1 下如是一个客服中心服务平台的应用。同时打开多个子页面,导航览支持缩紧,页面loading有动画效果,动态修改样式。 ?

    1.1K30

    写字板(Windows程序设计)

    真为所欲为) 问题描述 验证简易相册程序的实现(不需要写入报告) 设计一个类似Windows写字板的程序,使其具有以下功能: 提供基本的写字板功能,如文件的打开,保存,支持txt、rtf; 实现多格式的文本的编辑...状态栏中显示学生学号、姓名等信息,在窗口的标题中显示当前正在编辑的文件名 (可选)其他你觉得实用的功能:如支持word等 (可选)将其改造成MDI程序:父窗口中包含新建、窗口、帮助等菜单;在运行时,子窗口的菜单会与其合并...else OpenWord(saveName); Text = saveName; } public void 父窗体打开...,注意多用DropDownOpening,DropDownItemClicked等操作代替Click,使代码更加精简高效   这是一个MDI调整子窗体使用DropDownItemClicked的例子...的使用,是为了让一个父窗体拥有许多个子窗体,进行更加简单有效的操作 在父窗体new子窗体就行,记得一系列基本操作,你也可以通过生成函数和属性进行快速高效设置 private void 新建ToolStripMenuItem_Click

    1.1K10

    CC++ Qt MdiArea 多窗体组件应用

    MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在父窗体中内嵌多种子窗体的功能,使用MDI组件需要在UI界面中增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行...MDI窗体控件类似于画布,该控件只具备展示窗体的功能,无法实现生成窗体,所以我们需要在项目中手动增加自定义的Dialog对话框,并对该对话框进行一定的定制。...这个Dialog对话框我们只增加两个功能,一个Dialog::currentFileName()获取窗体标题,另一个Dialog::SetData(QString data)设置数据到编辑框,代码实现如下...窗体中的顶部菜单栏,我们需要手动定义一下他们所具备的功能名称等。...模式时,我们则执行以下代码,将所有已存在的窗体合并为一个类似于TabWidget的窗体组件。

    1.1K20

    CC++ Qt MdiArea 多窗体组件应用

    MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在父窗体中内嵌多种子窗体的功能,使用MDI组件需要在UI界面中增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行...MDI窗体控件类似于画布,该控件只具备展示窗体的功能,无法实现生成窗体,所以我们需要在项目中手动增加自定义的Dialog对话框,并对该对话框进行一定的定制。...图片这个Dialog对话框我们只增加两个功能,一个Dialog::currentFileName()获取窗体标题,另一个Dialog::SetData(QString data)设置数据到编辑框,代码实现如下...图片窗体中的顶部菜单栏,我们需要手动定义一下他们所具备的功能名称等。...(){ ui->mdiArea->closeAllSubWindows(); //关闭所有子窗口}代码运行效果如下:图片当用户点击MDI模式时,我们则执行以下代码,将所有已存在的窗体合并为一个类似于

    1.2K40

    VC中获取窗体句柄的各种方法

    该函数检查与特定父窗体相联的子窗体z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗体的句柄。...函数原型:HWND GetTopWindow(HWND hWnd); 參数:   hWnd:被查序的父窗体的句柄。假设该參数为NULL,函数返回Z序顶部的窗体句柄。...返回值: 假设函数成功,返回值为在Z序顶部的子窗体句柄。假设指定的窗体无子窗体,返回值为NULL。...(); //得到它的HWND   就不会出现故障,由于虽然当pwnd是NULL时,GetSafeHwnd仍然能够用,仅仅是返回NULL IsWindowVisible 函数功能:该函数获得给定窗体的可视状态...SetWindowText: 至于窗体标题的改变,我们能够通过SetWindowText来实现 注:假设窗体本身属性是不显示标题的,这个函数的调用不会影响窗体属性。

    1.2K20

    1-3 Winform 中的常用控件(

    ,该类库来自System.Windows.Forms命名空间之内,该命名空间提供各种控件类,使用这些控件类,可以创建丰富的用户界面,具体实现功能由位于该命名空间下的Control系统类派生。...这包括对话框,无模式窗口和多文档界面 (MDI) 客户端窗口及父窗口,同时也可以通过从UserControl类派生而创建自己的控件。...案例学习:建立第一个winForm应用——员工信息录入功能 本次实验目标是快速建立如图1-8的员工信息录入窗体,通过该案例使读者快速掌握Winform 中的常用控件包括:标签控件,文本框控件,按钮控件和组合框...一般而言,如果只有一个窗口或者是MDI(多文档窗体)里面的主窗口则是退出程序,Form.close()也是一种安全的方式,但如果是打开多个文档窗口的情况,退出系统必须使用Application.Exit...案例学习:标签控件的隐藏,窗口打开与关闭 本次实验目标是建立两个窗体,当点击图1-11的登录系统时候,可以打开另一个窗体,在点击文字打开后显示学校名称,点击文字隐藏时候隐藏学校名称。

    2.8K10

    C# 窗体常用API函数 应用程序窗体查找

    bool EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam); 其中lpEnumFunc指向一个应用程序定义的回调函数指针; lparam指向一个传递给回调函数的应用程序的定义值...查找从在Z序中的下一个子窗口开始。子窗口必须为hwndPareRt窗口的直接子窗口而非后代窗口。如果HwndChildAfter为NULL,查找从hwndParent的第一个子窗口开始。...返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄。如果函数失败,返回值为NULL。总之,这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。...uCmd 可选值:GW_HWNDNEXT = 2; {同级别 Z 序之下} GW_HWNDPREV = 3; {同级别 Z 序之上}获取指定窗口Z上或Z下的窗口的句柄 GetTopWindow(...; {指定的窗口句柄} uCmd: UINT {指定的关系选项} ): HWND; {失败返回0; 成功返回符合的窗口句柄}//uCmd 可选值:GW_HWNDFIRST = 0; {同级别第一个

    4K70

    C++ Qt开发:自定义Dialog对话框组件

    自定义对话框需要解决的问题是,如何让父窗体与子窗体进行数据交换,要实现数据的交换有两种方式,第一种方式是通过动态加载模态对话框,当用户点击确定后通过GetValue()来拿到数据,而第二种方式则是通过发送信号的方式将数据投递给父窗体...接着我们点开模态对话框的dialog.cpp对话框类,其类内需要定义两个成员函数,它们的功能如下: 第一个 GetValue() 用来获取当前编辑框内的数据并将数据返回给父窗体。...函数中是如何接收参数的,对于主窗体来说,当用户点击on_pushButton_clicked()按钮时,我们需要动态将自己创建的Dialog加载,读取出主窗体编辑框内的值并设置到子窗体内,当用户按下QDialog...::Accepted时则是获取子窗体内的值,此时通过调用ptr->GetValue()子窗体的成员函数来返回一个字符串,并将其设置到父窗体的编辑框内,主函数代码如下所示; // 首先要包含Dialog对话框类...读者可以拖动父对话框,而由于是信号控制,所以当发送参数到父窗体后,子窗体并不会立即关闭,如下图所示; 完整案例下载

    62010

    C++ Qt开发:自定义Dialog对话框组件

    自定义对话框需要解决的问题是,如何让父窗体与子窗体进行数据交换,要实现数据的交换有两种方式,第一种方式是通过动态加载模态对话框,当用户点击确定后通过GetValue()来拿到数据,而第二种方式则是通过发送信号的方式将数据投递给父窗体...接着我们点开模态对话框的dialog.cpp对话框类,其类内需要定义两个成员函数,它们的功能如下:第一个 GetValue() 用来获取当前编辑框内的数据并将数据返回给父窗体。...,对于主窗体来说,当用户点击on_pushButton_clicked()按钮时,我们需要动态将自己创建的Dialog加载,读取出主窗体编辑框内的值并设置到子窗体内,当用户按下QDialog::Accepted...时则是获取子窗体内的值,此时通过调用ptr->GetValue()子窗体的成员函数来返回一个字符串,并将其设置到父窗体的编辑框内,主函数代码如下所示;// 首先要包含Dialog对话框类#include...读者可以拖动父对话框,而由于是信号控制,所以当发送参数到父窗体后,子窗体并不会立即关闭,如下图所示;完整案例下载

    51910

    FindWindowEx使用方法「建议收藏」

    LPCTSTR lpszClass,LPCTSTR lpszWindow); 參数: hwndParent:要查找子窗体的父窗体句柄。...假设hwnjParent为NULL,则函数以桌面窗体为父窗体,查找桌面窗体的全部子窗体。 Windows NT5.0 and later:假设hwndParent是HWND_MESSAGE。...函数仅查找全部消息窗体。 hwndChildAfter :子窗体句柄。查找从在Z序中的下一个子窗体開始。 子窗体必须为hwndPareRt窗体的直接子窗体而非后代窗体。...查找从hwndParent的第一个子窗体開始。假设hwndParent 和 hwndChildAfter同一时候为NULL。则函数查找全部的顶层窗体及消息窗体。...返回值:假设函数成功。返回值为具有指定类名和窗体名的窗体句柄。假设函数失败,返回值为NULL。

    1.7K20

    duilib创建自定义控件

    用Duilib开发界面时,很多情况下库自带的控件不满足需求,就需要基于Duilib建立自定义控件(自绘新的控件,或者用来封装win32的子窗体,来显示视频、网页等)。        ...另外说一下如果把win32的子窗体封装为控件,希望能有帮助。        ...,背景色绘制,文本绘制,边框绘制。...封装的子窗口有三种:第一种比较简单、单纯封装一个子窗口、让视频库一类的库依赖;第二种麻烦一些、封装子窗口、并且处理子窗口的消息;第三种和第二种类似、封装Win32的控件并且处理他的消息。...2.使用WS_POPUP弹出式真子窗口。3.浏览器组件使用OSR等方式,自己绘制到窗口dc上,这是无窗口控件。具体的使用哪一种自己根据需求。

    3.1K50

    C#程序设计宿舍管理系统从入门到精通

    而是添加引用; 第一步熟悉一下:C#连接数据库的一些常用类库 农夫山泉:口号;不生产水,搬运工; 数据提供程序:不生产数据,数据库生产数据;只是搬运工; 不能用的处理方式 把目标框架更改一下: 数据库访问的顺序...使数据读取器前进到下一个结果 IsDBNull 判断列中的数据是否为NULL值,返回True/False 3.MDI窗体 效果如下: 单击: 信息增加代码: frmAddStu addStu =...new frmAddStu();//new新窗体; addStu.MdiParent = this; //设置新窗体的父窗体是当前MDI容器;...= id; updateGrade.name = name; updateGrade.Show(); //跨窗体传值的时候,应该把...窗体间数据的传值,在要传值的窗体,要设置一个属性或多个属性来接受一下;整个项目使用,可以使用类,设置成static的字段,扩充和自学的。

    7710
    领券