窗体

VS2013中添加现有窗体项

落爺英雄遲暮 提交于 2019-12-09 03:27:56
假如要从另一项目中拷贝窗体到本项目中,例如FmMain窗体, 需要. 把FmMain.cs 和 FmMain.Designer.cs 和 FmMain .resx 三个文件复制到程序目录下, 在vs里面添加现有项, 选择FmMain.cs, 其他文件不要选, 完成操作后刷新,等一会儿 就可以打开窗口了。 记得在vs2008版是要选择3个文件添加的, vs2012, vs2013就改为选择FmMain.cs一个文件就可以了. 来源: CSDN 作者: Peter-H 链接: https://blog.csdn.net/bigpudding24/article/details/50820962

窗体失去焦点事件浅谈

一个人想着一个人 提交于 2019-12-09 03:26:57
从网上搜索到的方法,不敢独享。 ---- VB中有一个LostFocus事件和一个GotFocus事件,看名字似乎是当当前窗口失去焦点或得到焦点时触发的事件。但在实际应用时却发现当这个窗口和Windows中其他窗口进行切换时并没有触发这两个事件。现在解析一下这两个事件。 ---- Form_LostFocus、Form_GotFocus是指的是一个MDI主父窗体调用了多个子窗体,当这些子窗体之间切换时,就触发这两个事件;当一个窗体中的多个文本框,鼠标点击另一个文本框时,也会触发这两个此事件,文本框在 Windows内部实际上也是一个窗口。 ---- Windows内部是通过消息来触发事件的,这两个事件在Windows内部对应的消息是WM_NCACTIVATE,当该消息的wParam为0时表示是失去焦点,为非0时表示得到焦点。在模块中: Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long ublic Declare Function DefWindowProc Lib "user32" Alias "DefWindowProcA"

C#中文本类控件和消息框

☆樱花仙子☆ 提交于 2019-12-09 03:24:24
(一)标签(Label)控件——主要用于显示用户不能编辑的文本,标识窗体上的对象。 例如,给文本框、列表框等添加描述信息。也可以通过编写代码来设置要显示的文本信息,通常有注释的功能。 Label控件的常用属性: ①Dock ——控件在窗体中的对齐方式。大部分控件也具有该属性,它的作用是将控件停靠在窗体的边缘(上、下、左 、 右)或填充窗体,控件的尺寸都会适应窗体尺寸。 ②BorderStyle ——边框样式。BorderStyle属性用于获取或设置控件的边框样式。有以下3种取值:None表示无边框,FixedSingle表示单行边框,Fixed3D表示三维边框。 ③AutoSize ——根据内容自动调整标签。该属性的默认值为true,即标签调整其宽度以显示它的所有内容。当属性值设置为false时,标签的尺寸按照用户指定的大小。 标签控件常用于文本说明,相对简单,很少用到方法和对标签控件的事件编写代码。 (二)按钮(Button)控件 按钮控件有两种显示方法:一种显示文本;另一种可以显示为图像。 Button控件的常用属性: ①Image ——按钮设置为图像。用于设置或获取按钮上显示图像。 ②FlatStyle ——按钮外观。该属性有以下几种取值:Flat表示该控件以平面显示,Popup表示该控件以平面显示,直到鼠标指针移动到该控件为止,此时该控件外观为三维

c# 文本框,窗体打开后如何让某指定文本框获取焦点  Form1_Activated 中textbox1.focus()即可

耗尽温柔 提交于 2019-12-09 03:20:34
进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了。 ②Winform的Activated事件 在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点。 1 2 3 4 private void Form1_Activated( object sender, EventArgs e) { textBox1.Focus(); } TextBox是可以获得焦点的. 有几个前提: 1. TextBox所属的窗体(Form)在可操作(Active)状态. 即用户选中了Form. 2. TextBox的Enable属性,Visiable属性为True. 刚开始时原以为在Form的Load事件中添加textBox1.Focus(),测试失败 1 2 3 4 private void Form1_Load( object sender, EventArgs e) { textBox1.Focus(); } 因为在窗体加载时调用Focus()函数时, TextBox还未能成功的被显示到界面上。所以导致了失败。 来源: CSDN 作者: wzk456 链接: https://blog.csdn.net/wzk456/article/details/83591121

C#或者WPF中让某个窗体置顶

[亡魂溺海] 提交于 2019-12-09 03:19:08
前记:在工作中有个需求,要求不管到那个界面,我必须让一个浮动条(其实是个窗体)置顶。 我用wpf,因为有之前有好几个界面已经设置成topmost了,所以在这几个界面,我的浮动条会被遮挡。为了始终让浮动条在最顶端,我写了个简单的工具类。在前面已经设置成topmost的窗体的Window_Loaded中调用这个工具类里的方法实现了始终让浮动条置顶。 工具类代码如下: public class TopMostTool { public static int SW_SHOW = 5 ; public static int SW_NORMAL = 1 ; public static int SW_MAX = 3 ; public static int SW_HIDE = 0 ; public static readonly IntPtr HWND_TOPMOST = new IntPtr(- 1 ); //窗体置顶 public static readonly IntPtr HWND_NOTOPMOST = new IntPtr(- 2 ); //取消窗体置顶 public const uint SWP_NOMOVE = 0x0002 ; //不调整窗体位置 public const uint SWP_NOSIZE = 0x0001 ; //不调整窗体大小 public bool

c# Winform/WPF 开发分屏显示应用程序

扶醉桌前 提交于 2019-12-09 03:13:32
分屏显示即可把一台主机内运行的多个程序分别显示在不同的两个(或多个)屏幕上。目前市面上主流的显卡都支持分屏显示(显示双屏幕),如果需要显示2个以上的屏幕,则应使用“拖机卡”类的硬件。 设置分屏显示的两种方法如下: 1、用两个显卡连接两台显示器,进入系统后,分清楚哪一个是主显卡,在桌面空白处右键单击,点属性,然后在窗口中点“设置”选项卡,会看到有两个显示,分别是1(主显卡)和2(副显卡),点击那个2,在下面的“将windows桌面扩展到该监视器”打上对号,确定后,你试着把鼠标往主显示器右边界移动,再移动,鼠标会跑到第二台显示器上去了,这样,同样运行几个程序,分别将它们的窗口拖拽到两个显示器的区域中就可以了,这实际上是将桌面扩展了一下。 2、使用专门的硬件。可以使用“一拖多”的拖机卡,只要将设备插入usb口中,将设备上引出的两个ps/2口分别接鼠标和键盘,主机中还是有两块显卡,然后再装上这个设备的专用软件,重启后,经过简单的配置,即可实现“完全”独立的两个系统。 所谓的分屏或多屏软件,就是把软件中的多个窗体,在主屏幕运行,但是把各个窗体(坐标)移动到各个扩展屏幕位置上如下图所示: 主屏幕 (MainForm) index=0 扩展屏幕1 (Form1) index=1 扩展屏幕2 (Form2) index=... 扩展屏幕3 (Form3) index=...

C# & 在WPF中调用WinForm窗体

六月ゝ 毕业季﹏ 提交于 2019-12-09 03:12:48
问题:如何使用WPF窗体调用winform窗体 解决: 在WPF中引用WinForm项目 效果如图所示: 引用System.Windows.Forms 写调用代码 WinFormUI.frmMain frm = new WinFormUI.frmMain(); frm.Show(); 实例化窗体,然后调用Show()方法即可 注意:如果没有添加引用: System.Windows.Forms ,会调用不出 Show() 方法。 来源: CSDN 作者: 十五期刘晓伟 链接: https://blog.csdn.net/dopdkfsds/article/details/93412133

WPF 中添加winform 窗体

这一生的挚爱 提交于 2019-12-09 03:10:46
将原来的winform程序中的 MainForm 类的构造函数权限改成 public 项目输出由 应用程序改成 类库 (假设mainform.dll) 添加必要的引用 System.Windows.Forms WindowsFormsIntegration 以及mainform.dll 在wpf的xaml中添加一个windowsformhost,假设name = wfh; 在MainWindow()中添加新建一个待添加的窗体类(比如 MainForm)对象 MainForm mainform = new MainForm(); wfh.Child = mainform; 捕获到异常,子空间不能为顶级窗体,故把MainForm的TopLevel属性设为false即可; 最后运行程序,OK! 来源: CSDN 作者: pooooooooooooo 链接: https://blog.csdn.net/u011854789/article/details/54668859

Windows窗体与WPF窗体相互调用

自古美人都是妖i 提交于 2019-12-09 03:10:36
一.WPF窗体调用windows窗体 (一)在wpf窗体中,若想调用windows窗体,有两种方法: 1.直接调用 private void btnOpenWindows2_Click(object sender, RoutedEventArgs e) { //直接调用 Form1 form1=new Form1(); form1.ShowDialog(); } 2.借助WindowInteropHelper和WindowWrapper。 WindowInteropHelper 类用于 协助 Windows Presentation Foundation (WPF) 与 Win32 代码之间的互操作。 private void btnOpenWindows_Click(object sender, RoutedEventArgs e) { //借助WindowInteropHelper和WindowWrapper Form1 form1 = new Form1(); WindowInteropHelper helper=new WindowInteropHelper(this); form1.StartPosition = FormStartPosition.CenterParent; form1.ShowDialog(new WindowWrapper(helper.Handle

wpf打开自己创建窗体中的超链接

廉价感情. 提交于 2019-12-09 03:01:47
wpf打开自己创建窗体中的超链接 1、xaml < TextBlock Height ="80"> For more information, see < Hyperlink NavigateUri ="http://baidu.com" Click ="Hyperlink_Click"> Baidu.com </ Hyperlink > . </ TextBlock > 2、xaml.cs private void Hyperlink_Click ( object sender , RoutedEventArgs e ) { System .Diagnostics. Process .Start ( "http://baidu.com" ); } 3、运行效果 //CSDN 上传 gif 文件有问题,所以效果显示不出来啦。见谅! 来源: CSDN 作者: 奔跑的QQEE 链接: https://blog.csdn.net/qq_33712555/article/details/52724923