窗体专题

C# 通过拖控件移动窗体

目录 引言一、通过控件事件移动窗体1、创建窗体界面2、添加控件事件3、添加代码 二、通过windowsAPI移动窗体1、 构建窗体和添加事件2、代码展示 引言 在C#Form窗体设计中,如果我们不需要使用默认边框设计自己个性化的窗体(FromBorderStyle=none时),这时候你会发现拖动窗体的功能就没有了,这里需要自己构建方法让用户可以拖动整个窗体,这里我们使用前辈的

Winform中在窗体中的Paint事件中重绘会导致递归问题?

在 WinForms 应用程序中,如果在窗体的 Paint 事件处理程序中不断调用 Invalidate 方法,确实可能会导致递归调用的问题。这是因为每次调用 Invalidate 方法时,都会向消息队列添加一个绘制消息,当消息队列中的绘制消息被处理时,会触发 Paint 事件。如果 Paint 事件处理程序中又调用了 Invalidate,就会形成一个循环,导致递归调用 Paint 事件,这

OpenHarmony 主窗体和子窗体的关系

在鸿蒙(HarmonyOS)应用开发中,主窗体和子窗体之间的关系,以及它们与整个应用能力的关系,是层级性结构性的,可以从以下几个方面理解: Window: 当前窗口实例,窗口管理器管理的基本单元。WindowStage: 窗口管理器。管理各个基本窗口单元。 主窗体与子窗体的关系: 定义: 主窗体:应用启动时默认展示的界面,通常对应于应用的主能力。子窗体:在应用中可以被主窗体或其他子窗体打

C# 自定义传值窗体-适合多参数传值

将子窗体的值回传到父窗体中,或者最简单的需要一个设置参数的对话框,其作用也就是得到其中的参数。下面我们详细介绍实现的过程。 文章目录 一、定义一个事件类二、在参数窗体中定义事件三、订阅事件消息 一、定义一个事件类 首先,我们必须定义一个事件,父窗体可以订阅这个事件,并在事件触发时获取参数。下面是如何修改代码来实现这个功能: 首先,定义一个事件参数类和事件: public c

学习【C# Windows窗体】:获得进程的输出

前言 在之前的博客《创建能启动其他程序的Windows窗体》中,我启动了一个其他程序的进程。而进程的输出都显示在控制台窗口中。我在想,可否能读取这些输出,这样就可以配合一些界面显示了,例如约定一个表示进度的信息,来指导进度条的值,这虽然不怎么稳定,但是如果运行的程序也是由自己维护的,那这种方式我觉得没什么不妥。 查了一些资料之后,我发现读取进程的输出很简单(学习的过程中我参考了C#Process

学习【C# Windows窗体】:基础

前言 我发现C# Windows窗体很适合做一些小工具,这些小工具就算做的事情很简单,却也真的能节省使用者的时间与精力。而且,在我看来它有很大的优点: 使用简单拥有图形化的编辑界面可以带参数调用exe,使其泛用性很强。没有特别的运行环境要求(意思是说不用再安装什么额外的东西,只要求一个Windows) 在之前的博客《创建能启动其他程序的Windows窗体》中,我尝试建立一个最简单的,能启动其

030集——自动弹出对话框、选择文件并播放wav音频文件(winform窗体)——C#学习笔记

如图所示,效果如下: 步骤如下: 新建一个winform窗体,双击界面,进入代码区: 复制(下面代码中命名空间内的代码)到(你的命名空间下),运行。 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Draw

delphi : 窗体的close,free,destroy的区别

一、我用application.create(TForm2,Form2)语句,创建了Form2,可是调用了Form2.close后,重新调用Form2.show. 刚才所创建的Form2仍然存在。问为了节约资源,应该怎样使用close,free,destroy. 三者的关系是什么? 1、Action:=caFree。 2、 with TForm1.Create(Application) do

关于QWidget和QDialog窗体居中的问题

最近开发中,遇到了窗体不能居中的问题,看了网上的很多文章,窗口居中,无非都是move至窗口的中心目标; 有两种方式, 一种在构造函数中直接计算中心坐标; 另一种是在窗口show后再move至相应坐标。但是自己在构造函数中添加了对应的句子以后,窗体不在窗口的(0,0)点显示,反而在右下角显示,自己很是郁闷。网上的两种方法,基本操作如下: 方法一:在窗口(QWidget类及派生类)的构造函数中

QT窗体Widget使用的若干问题

这里介绍的是widget 窗体的属性 最完整的属性请查看qt自带的帮助文档,这里之拿了一部分做说明 窗体属性: object name:物件名称 qwidget:enable 使能本部件 geometry:窗口位置和大小设置 sizepolicy: 1. Fixed: 大小不能改变 2. Minimum: 已经是最小, 不能再被缩小, 但

Qt实现窗体从虚到实及动画效果

一,实现界面从虚变实 方法1:使用QWidget类提供的公有方法void setWindowOpacity(qreal level);(参数为double类型)      a,使用此方法应该在窗体show之后在调用,否则可能会出现窗体会闪一下实体窗口,然后才会从虚到实变化。      b,调用此方法时窗体不能设置Qt::FramelessWindowHint风格,否则

C1-1 ABB二次SDK开发——C#Window窗体-环境配置(带ABB二次开发SDK资源包)

一.使用Visual Stdio创建一个项目 1.新建VSC#的windowfrom项目 2.安装资源文件PCABB二次开发的SDK,并打开安装路径 3.记住路径,右键C#引用,然后导入ABB.Robotics.Controllers.PC.dll 4.在框架代码主界面代码中添加 using ABB.Robotics.Controllers;using ABB.Roboti

C# 窗体中Control以及Invalidate,Update,Refresh三种重绘方法的区别

在 C# 中,Control 类是 Windows Forms 应用程序中所有控件的基类。它提供了控件的基本功能和属性,这些功能和属性被所有继承自 Control 类的子类所共享。这意味着 Control 类是构建 Windows Forms 应用程序中用户界面元素的基础。 以下是 Control 类的一些关键特性和方法: 属性: Size:获取或设置控件的宽度和高度。Location:获

cef OnBeforePopup禁止弹出新窗体

bool SimpleHandler::OnBeforePopup(   CefRefPtr<CefBrowser> browser,   CefRefPtr<CefFrame> frame,   const CefString& target_url,   const CefString& target_frame_name,   WindowOpenDisposition target_dis

C#中通过TabControl控制MDI子窗体显示切换的实现过程

类似excel表格中各个表单sheet的切换效果,使用tabcontrol控件实现类似的功能。效果如下: 过程涉及父窗体MDIParent1、子窗体main、自定义基础功能类MdiChildBase。 基础功能类MdiChildBase继承自Form创建,定义了一个委托SetTabControlDelegate,委托的实例SetTabI用于指定FormClosing和Shown方法中调用的

vue 集成高德地图进行批量标注和信息窗体展示

vue 集成高德地图进行批量标注和信息窗体展示           高德地图进行地理位置的标注和信息窗体展示是我们很常用的一个功能,其实高德api里面已经清楚的说明怎么用了,但是自己总结一下记录在自己的笔记里,也是有些许好处的。高德api 样列展示地址是:https://lbs.amap.com/api/javascript

如何实现控件随窗体大小的改变而自动适应其改变

转自http://blog.csdn.net/wwwdbs/article/details/2473597 在设计可供用户调整大小的窗体时,如何实现该窗体上的控件也应能正确地随窗体的改变而自动调整大小并且能重新定位?此时就要借助控件的.Anchor属性。Anchor属性定义控件的定位点位置。当控件锚定到某个窗体时,如果该窗体的大小被调整,那么该控件维持它与定位点位置之间的距离不变。例如,如果“:

机房收费系统问题总结——模块和登陆、主窗体

问题一:登陆窗体显示无效的dsn     1:出现这个问题,应该是数据库的odbc的问题吧,于是我又好好的配置了odbc,由于我们的window8系统中,在控制面板——管理工具中出现ODBC数据源64位和ODBC32位,所以我们在配置的时候一定要知道自己的电脑安装的系统是那一个,我安装的是64位的,配置32位就是无效的dsn。及时改配置。     2:假如确定我们配置好了ODBC,但是我们还

Pyqt5:多线程任务、窗体打开、常用控件介绍(含基础Demo)

一、多线程任务和第二窗体打开demo 【main】 import untitledimport sysfrom PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBoxif __name__ == '__main__':app = QApplication(sys.argv)MainWindow = QMainWindo

机房重构---MDI窗体+单例模式

在VB6.0版本的机房收费系统中就用到了MDI技术(多文档界面),其中有的窗体用了MDI,而有的则没有用到,回头想想这些个关于增删改查的功能都该是MDI这个容器中的子窗体,于是这次我将他们都放到了MDI窗体中。  一、关于MDI窗体    MDI窗体设置步骤:    (1)在frmMain中打开属性窗格,”IsMdiContainer”属性设置为”True”。    (2)把工具箱

机房收费系统问题记录——子窗体的显示问题

这个问题是我敲机房的时候遇到的第二个问题了,当时在网上查了一下,说要借助一个API函数,说一下方法:     1.使用API函数:SetParent,在模块中声明这个函数,声明代码:       Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewPa

机房收费系统问题集(2)——移动登陆界面+show出子窗体

安装上机房收费系统样本,连接上数据库,在运行的时候,我很是佩服机房收费系统的高大上    在我亲自敲的时候遇到了下面的问题: (1)登陆界面不能用鼠标移动    在机房收费系统的样本中,登陆界面是可以移动,而我敲出来的机房收费系统登陆界面是死的,不能任由鼠标移动,很是不便,于是在登陆界面的代码中添加了 form 的 mousedown 事件 <strong><span style

ExtJs 入门教程七[登陆窗体Demo:Login]

一、效果 二、代码 <style type="text/css">.loginicon{background-image: url(image/login.gif) !important;}</style><!--ExtJs框架结束--><script type="text/javascript">Ext.onReady(function () {//初始化标签中的Ext:Qtip属性。

ExtJs 入门教程三[窗体:Window组件]

一、效果 二、代码 <script type="text/javascript">Ext.onReady(function() {var win = new Ext.Window({title : '窗口',width : 476,height : 374,renderTo: Ext.getBody(),//渲染节点,也可以为DOM的ID值layout:'form'//定义布局 见说明[

【机房重构】窗体错误

刚开始敲机房就遇到了各种各样的错误,其实大部分都可以归结为长时间没有写过代码,脑子里面都没有逻辑了。          但是窗体出错是不能忍的了!登录就出错,如果不能解决,这个问题要跟着我整个重构的节奏啊!           出错的时候第一心理好像是逃避,所以一眼就看到了不是特别明显的“忽略并继续”,因为之前敲代码的时候没有遇到过这样的问题,所以只

浅谈三层之登录窗体(C#)

最近在学习三层架构,三层的核心思想就是“解耦”。三层就好比我们去饭店吃饭,服务员只负责接收订单,厨师只管烹饪,采购员只管提供客人需要的蔬菜、肉类等。它们三者之间各司其职,互不影响,从而保证了饭店业务的正常运行。    这里我们讲的三层是逻辑上的三层,分为表示层、业务逻辑层和数据访问层。饭店中的服务员、厨师和采购员就相当于三层中的表示层、业务逻辑层和数据访问层。如图: