每次打开Excel(WPS、Office都会出现,当前版本是Office2016)文件都会出现两个窗口,一个是空白的sheet1,一个是自己的文档,实在是很烦 2....因为每次打开一个文件就相当于打开两个,还会让Excel打开速度变慢,在网上找了很多解决办法,卸载重装过,但是都没有解决 二、问题原因 出现这个问题的大部分是程序员电脑(哈哈),原因竟是安装MySQL数据库导致的...【COM加载项】 -> 【取消勾选MySQL For Excel】然后确定 5.再打开Excel,只出现自己打开的文档窗口,问题解决 6.如果关闭电脑再打开后还是有则采取终极方法,在加载项中找到...MySQL的位置,然后在资源管理器中找到并将所示的文件名改一个名称,如序号4所示。...这样一来纵它飞起来也不会打开两个窗口了 3.2 WPS解决步骤 1.WPS中不能在MySQL文件夹中去改名,否则会报错 2.直接在COM加载项中取消MySQL勾选即可 版权声明:
设置属性 打开用户窗体设计并选择一个对象(窗体或控件)后,该对象的属性显示在“属性”窗口中。此窗口分为三个部分: 顶部的下拉列表显示对象类型和所选对象的名称(名称以粗体显示)。...在“属性”窗口中设置此属性时,从预定义颜色的调色板中进行选择。在代码中,使用RGB函数设置该属性的RGB值。 BorderColor。窗体边框的颜色(如果显示一个)。...如果为False,则用户可以在仍然显示该窗体时切换离开该窗体,并使用应用程序的其他部分(例如另一个窗体)。 StartUpPosition。首次显示时窗体的位置。有关允许的设置,参见表18-2。...Top,从屏幕顶部到窗体顶部的距离(以磅为单位)。 Width,窗体宽度(以磅为单位)。 注意,仅当StartUpPosition属性设置为Manual时,Top和Left属性才会影响窗体的初始位置。...注意,此窗口顶部有两个下拉列表,你可以按以下方式使用这些列表: 左侧的列表包含窗体上的所有控件,以及用户窗体本身的条目,如图18-4所示。还包含一个条目(常规)。
"); } Deactivated只要您的应用程序失去焦点(通常在另一个应用程序请求时Topmost),就会调用该事件,因此这将在此之后重置您的应用程序....停用窗口后 (成为后台窗口) : 用户切换到当前应用程序中的另一个窗口。 用户使用 ALT + TAB 或使用任务管理器切换到另一个应用程序中的窗口。 用户单击另一应用程序中窗口的任务栏按钮。...PreviewLostKeyboardFocus 要使其保持在顶部,您只需设置失去焦点事件以使其回到顶部。...应用程序在第一次显示窗口的时候应该指定此标志 /// private const int SW_SHOWNORMAL = 1; /// ///...在恢复最小化窗口时,应用程序应该指定这个标志 /// private const int SW_RESTORE = 9; /// /// 依据在
这个Dialog对话框我们只增加两个功能,一个Dialog::currentFileName()获取窗体标题,另一个Dialog::SetData(QString data)设置数据到编辑框,代码实现如下...窗体中的顶部菜单栏,我们需要手动定义一下他们所具备的功能名称等。...->mdiArea->addSubWindow(formDoc); //文档窗口添加到MDI formDoc->show(); //在单独的窗口中显示 } // 关闭全部 void MainWindow...模式时,我们则执行以下代码,将所有已存在的窗体合并为一个类似于TabWidget的窗体组件。...,该功能的实现需要两个函数。
图片这个Dialog对话框我们只增加两个功能,一个Dialog::currentFileName()获取窗体标题,另一个Dialog::SetData(QString data)设置数据到编辑框,代码实现如下...图片窗体中的顶部菜单栏,我们需要手动定义一下他们所具备的功能名称等。...->addSubWindow(formDoc); //文档窗口添加到MDI formDoc->show(); //在单独的窗口中显示}// 关闭全部void MainWindow::on_actionClose_triggered...(){ ui->mdiArea->closeAllSubWindows(); //关闭所有子窗口}代码运行效果如下:图片当用户点击MDI模式时,我们则执行以下代码,将所有已存在的窗体合并为一个类似于...,该功能的实现需要两个函数。
,它引用Document对象,后者表示显示在窗口中的文档。...如果两个窗口(或窗体)包含的脚本把domain设置成了相同的值,那么这两个窗户就不再受同源策略的约束,它们可以相互读取对方的属性。...[2] 跨文档消息(cross-document messaging),允许来自一个文档的脚本可以传递文本消息到另一个文档里的脚本,而不管脚本的来源是否不同,调用Window对象上的postMessage...对于顶级窗口来说:self = parent = top 3. top属性引用的是指向包含它的顶级窗口。 4. iframe元素有contentWindow属性,引用该窗体的Window对象。...var childFrame = document.getElementById("f1").contentWindow; 七、函数在定义它的作用域中执行,而不是在调用它的作用域中执行。
#131、你为什么会把窗体设置成为浮动(模式) 原文链接:Why you would want to make a Tool Window Floating 如果你想把工具窗体放在一个特定的区域,而不幸的是停靠目标显示了...,这时候,如果设置窗口为浮动的,该窗体j将不会获得停靠目标,不会任何把任何工具窗体口作为停靠目标,不会把IDE的9个停靠位置多为停靠目标。...#134、让工具栏窗口停靠在IDE的顶部 原文链接:You can dock a tool window to the top of the IDE 操作步骤 拖动可停靠的窗口IDE的顶部停靠位置,把工具窗口停靠在...IDE的顶部。...,把它拖到另一个工具栏或者交换位置。
(即EnumWindows中lParam) 下面用一个例子对该方法说明 程序中要实现一个功能:可以在当前打开的窗体中找到目标窗体,并在需要时将其激活,置为前台窗体 using System;using...如果用VC开发平台,可以使用其中的Spy快速的找到窗口的类型,在Spy++中有一个FindWindow工具,它允许你使用鼠标选择窗口,然后Spy++会显示这个窗口的类。...查找从在Z序中的下一个子窗口开始。子窗口必须为hwndPareRt窗口的直接子窗口而非后代窗口。如果HwndChildAfter为NULL,查找从hwndParent的第一个子窗口开始。...lpszClass:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobaIAddAtom函数产生的全局成员。...返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄。如果函数失败,返回值为NULL。总之,这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。
(2)在添加完窗体后我马上对这个窗体绑定了它的数据,分别是width、height、top、left,这个之后会说有什么用,先跳过。 ...(_cache.resize),这里在对它进行循环,在循环体内我用了一个FormatModel(),这个方法我在上篇文章里提到过,就不再介绍用法了:《自己写的一个分享按钮的插件(可扩展,内附开发制作流程...,找到与这个任务相对应的窗口,让它显示并更新z-index,然后把自己修改成选中状态,同理点击窗口时也会触发一个类似这样的事件,可以通过两个function里的注释看到,代码执行流程几乎都是一样的。 ...小技巧就是,当我创建窗体时,给iframe加了一个div遮罩层,宽高刚好和iframe一样,当窗体不在使用状态时,比如被别的窗口覆盖在下面,那个遮罩层就显示出来,刚好把iframe盖住,因为遮罩层是透明了...为什么要这么做呢,因为这样,在切换窗口时,点击事件可以不单单只写在顶部的标题区域,在点击iframe(实际点击的时遮罩层)也可以实现窗体切换功能,当然,切换后要马上把遮罩层隐掉。
8.案例学习:使用组合框控件 本次实验目标是在FORM窗体上建立一个列表框控件,两个组合框控件以及一个文本框控件,通过这些控件彼此之间的关联,学习并掌握ComboBox组合框控件的主要属性和方法。...u 实验步骤(1): 由图1-15所示,从工具箱之中拖拽一个列表框控件,两个组合框控件以及一个文本框控件到Form窗体上,调整控件基本属性以达到图1-15效果。...,"问询提示",MessageBoxButtons.YesNo); // 1、DialogResult属性用于获取或设置MessageBox.Show()方法返回的一个值,该值在单击按钮时返回到父窗体...showDialog()的使用 面对多窗口的调用的时候,我们往往不喜欢窗口之间的随意切换,那样还要花费时间寻找我们需要的窗口。...建立showDialog()的方法比较简单,比如建立两个Form窗体,通过第一个Form窗体上的Button按钮打开另一个窗体。
当创建了一个用户窗体后,将会显示一个名为“工具箱”的浮动控件工具箱(如果没有该工具箱的话,可以从视图菜单中找到它),其中显示了最常用的控件。单击想要的控件,在用户窗体中进行绘制。 3.更多的控件。...为了从内存中清除窗体,必须卸载(unload)它。当用户单击关闭按钮关闭窗体时,用户窗体将被自动卸载。...如果想创建不同的事件过程,可以从VBE窗口顶部右侧的下拉列表中选择想要创建的事件过程。...还有一个方法是,可以先进入用户窗体代码窗口,在代码窗口顶部的左侧的下拉列表中选择对象,在右侧的下拉列表中选择相应的事件。 用户窗体初始化 最重要的用户窗体事件是初始化(Initialize)事件。...当在VBE中使用代码窗口顶部的下拉菜单创建一个事件过程时,该过程会自动为它的所有参数设置合适的值。 一些参数是只读的,而另一些参数则可读写。
二是调用方式不同:call是严格意义上而言的调用,在call另一个批处理时是在同一窗体进程里执行,而start则是执行,所以在执行另外一个批处理时是在不同的窗体进程里进行,也就是说在新开启的进程里执行,...如我们使用call set test=2 和 start /b set test=2 看似执行的结果相同,但是我们发现后者有两个进程,而且在窗体里要执行两次exit才能退出,所以当我们使用start来执行一个批处理后最好在被调用的批处理中也加一个...exit,否则无法退出被调用的批处理的dos窗体,但是使用call调用时如果在被调用的批处理中存在exit则会直接结束原始和被调用的批处理程序,这是一个非常严重的问题。...从批处理程序调用另一个批处理程序。...启动一个单独的窗口以运行指定的程序或命令。
每一个窗口部件都是矩形的,并且它们是按照**Z轴(由屏幕里到屏幕外)**顺序排列的。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。一个没有父窗口部件的窗口部件一直是顶级窗口部件。...非顶级窗口部件时父窗口的子部件。 QWidget构造函数有两个参数:QWidget*parent = 0,QT:WindowFlages f = 0。...parent即父窗口,默认为0,即没有父窗口,是顶级窗口,如果指定parent值,则当前窗体将会是一个子部件。...QWidget类关系表 窗体状态 模态 窗口间的阻塞情况,是否必须先关闭某一窗口之后,才能对另一个窗口进行操作。 被设置为模态窗口的窗口关闭之后才能对其他窗口进行操作。...当用户关闭这个对话框,exec()将提供一个可用的返回值并且这时流程控制继续从调用exec()的地方进行。
要添加代码: 1.单击工程窗口中的“查看代码”按钮以打开用户窗体的代码编辑窗口。 2.从窗口左上方的列表中,选择UserForm。 3.从窗口右上方的列表中,选择Initialize。...当然,在单击“下一步”按钮时,这是必需的,在单击“取消”或“完成”按钮时,这也是必需的。即使使用Hide方法隐藏了该窗体,它在下次显示时仍将所有数据保留在其控件中。因此,需要清除控件。...这意味着第一行空白开始于单元格A3或它下面的任何单元格中。有几种方法可以识别第一个空行。这里使用其中的一种,如下: 1.从单元格A2开始作为参考点。...编辑器中打开用户窗体时按F5来测试工程,还可以编写一个使用Show方法显示窗体的宏。...可以在输入数据之后或输入数据时执行数据验证。 当你的代码将在程序的多个位置中使用时,将其放在单独的过程中。 自我测评 1.请说明使用用户窗体进行数据输入的两个好处。
}这样,当我们将文件拖到TextBox中时,就会自动显示文件路径了。...然后将其添加到Form中,如下图所示:当我们改变窗口大小时,Label控件的宽度也会随之改变,但是其距离窗口左边依然不变。这就是Anchor属性的作用。...在设计窗体时,选择需要添加AutoEllipsis属性的控件,比如Label或Button等。在属性窗口中找到AutoEllipsis属性并将其设置为True。...以下是使用ContextMenuStrip的步骤:在设计界面上,从工具箱中拖拽一个ContextMenuStrip控件到窗体上。在属性窗口中添加菜单项。...例如,如果将一个Label控件的Dock属性设置为Top,则该控件将停靠在其容器的顶部,并且在容器大小改变时,该控件也会随之自动调整大小和位置,以保持停靠在顶部的位置不变。
wallpaper在图标层和背景层之间插入了自己的窗口,因此可以显示动画,执行代码。...C#实现 界面绘制 首先创建两个窗体,一个用来播放视频,一个用来控制 上图是控制窗口,也是主窗口。...另一个视频窗口较为简单,直接用MediaPlayer覆盖全屏就行,注意需要设置WindowState为Maximized,即启动时立即最大化,同时播放器要隐藏ui,即设置uiMode为none。...查找句柄 现在需要查找背景窗体的句柄,使用窗口查看器发现背景窗体没有窗体名称,因此无法直接定位,但是我们知道它的类名是WorkW,它的父窗体是Program Manager,所以我们可以遍历所有WorkW...这里利用了windows窗口的一个特性:如果A窗体在B窗体上面,那么A窗体也会在B窗体的子窗体上面。
它提供了一种在单个窗口中管理多个文档的方式,每个文档通常是一个子窗口(QMdiSubWindow)。...读者在使用MDI组件时,需要在UI界面中增加mdiArea控件容器,之后所有窗体创建与操作都要在容器内进行,其次由于MDI窗体组件仅仅是一个画布只具备限制窗口的作用,无法实现生成窗体,所以需要在项目中手动增加自定义...在子窗口模式下,QMdiArea管理并显示各个子窗口,允许用户同时查看和编辑多个文档。 析构函数: 析构函数中执行了 delete ui;,确保在对象销毁时释放与ui相关的资源,避免内存泄漏。...; 1.2 新建与关闭窗体 新建窗体时只需要调用new Dialog创建新的窗体,并通过addSubWindow()将新的窗体指针加入到组件内即可,当关闭时可以直接通过调用closeAllSubWindows...标签页多页显示模式(QMdiArea::TabbedView) 在这种模式下,子窗口以标签页的形式显示在主窗口的顶部,用户可以通过点击标签页来切换不同的子窗口。
在设计窗体时,这两个属性特别有用,如果用户认为改变窗口的大小并不容易,应确保窗口看起来显示的不是那么乱,并编写很多代码来实现这个效果,许多程序解决这个问题都是禁止给窗口重新设置大小 这显然是解决问题的最简单的方法...–表示控件中与父窗体(父控件)相关的右边缘应该保持固定 正如演示的那样,每个控件在父窗体上都自动的保持它的位置,需要注意的是: ①如果没有指定一个控件有左右锚定...,它将在父窗体中保留一个相对左右的位置,其它也是一样 ②如果选择了所有Anchor值的控件,控件只是在调整父窗体大小时,随着增大和缩小–与窗体的边缘比较起来它的所有边缘保持静止不变...虽然Anchor属性也可以实现这一点,但是Dock属性使得能够在父窗体中让子窗体可以再上方(或旁边)互相堆叠,如果某个子窗体改变了大小,其它停驻在它旁边的子窗体也会随之改变。...和Anchor属性不同的是,可以将Dock属性设置为一个单值: *Top–迫使控件位于父窗体(或控件)的顶部,如果有同一个父窗体的其它子控件也被设置为停驻在顶部的话,那么控件将在彼此上方互相堆叠
此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。 ...msg, int hWnd, uint wFilterMin, uint wFilterMax, uint wFlag); /// /// 该函数从调用线程的消息队列里取得一个消息并将其放于指定的结构...捕获鼠标的窗口接收所有的鼠标输入(无论光标的位置在哪里),除非点击鼠标键时,光标热点在另一个线程的窗口中。...extern bool ClientToScreen(IntPtr hWnd, ref POINT pt); /// /// 当在指定时间内鼠标指针离开或盘旋在一个窗口上时...Z序的顶部。
如果在代码中声明并赋值给全局变量x,那么显示声明会隐藏隐式声明的元素变量。如果脚本中的变量声明出现在命名元素之前,那么变量的存在会阻止元素获取它的window属性。...(或者递归打开的窗口),脚本才能通过名字指定存在的窗口,或者如果是一个窗口内嵌在另一个窗口里的窗体,那么在它们的脚本之间可以相互导航。...即,通过这样两个窗口可以实现相互引用。或者调用对方的方法。...如果一个窗口是顶级窗口,标签 则 parent == self true self 属性返回窗体本身,表明parent指向其窗体 如果一个窗体是在另外一个窗体之中,则parent.parent将会是顶级窗口...事实上,全局对象会在窗口或窗体载入新内容时被替换,即window对象实际不是全局对象,是一个代理,即windowProxy ps 需要注意一点的是在多个标签或者窗体的时候,每个窗体仅仅为一个线程,线程之间使用的是一个浏览器定义好的
领取专属 10元无门槛券
手把手带您无忧上云