c#实现无标题栏窗口的拖动
当把窗体的FormBorderStyle属性设为None后会导致边框没了,结果窗体无法用鼠标拖动、最大、最下化和关闭……
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd,int msg,int wparam,int lparam);
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)//按下的是鼠标左键
{
Capture = false;//释放鼠标使能够手动操作
SendMessage(Handle, 0x00A1, 2, 0);//拖动窗体
}
}
关于最小化、最大化和关闭按钮,则可以利用按钮控件,再把按钮控件的背景图片设为相应的图片,再在各自的单击事件中指明所需操作即可,这样不仅可以实现最大、最小、关闭的功能,还可以将这些按钮美化。
相关推荐
-
C#中父窗口和子窗口之间控件互操作实例
本文实例讲述了C#中父窗口和子窗口之间控件互操作的方法.分享给大家供大家参考.具体分析如下: 很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: 复制代码 代码如下: public static yourMainWindow pCurrentWin =
-
C#分屏控件用法实例
本文实例中的自定义类PictureBox继承于UserControl,最终实现简单的分屏功能.分享给大家供大家参考之用.具体实现代码如下: public partial class PictureControl : UserControl { public event MouseEventHandler PicControl_DoubleClick; private int picNum; /// <summary> /// 屏幕个数 /// </summary> public i
-
C#中WebBroeser控件用法实例教程
WebBrowser是C#中非常实用的一个控件,本文以实例形式分析了WebBrowser的用法,供大家参考.具体分析如下: 一.WebBrowser常用属性: .Refresh();//刷新 .GoBack();//后退 .GoForward();//前进 .Navigate(new Uri(address)); //打开链接 .Dock = DockStyle.Fill; //完全停靠在父容器中 .ScriptErrorsSuppressed = true ; //关闭错误显示 Uri a =
-
C# WinForm中禁止改变窗口大小的方法
本文介绍在使用C#开发WinForm窗体程序时,如何设置窗体的大小不能被改变. 我们在开发一个窗体(WinForm)程序时,所有的控件都部署在程序界面上了,如果这时来把窗体的大小调整一下,那界面就难看了.怎么设置窗体大小不能被修改呢? 在Form类下面有一个FormBorderStyle的字段,我们可以通过设置它的值来让窗体不能被拉大拉小.FormBorderStyle的值设置为FormBorderStyle.FixedSingle或Fixed3D时,窗体大小是不能被改变的. 当然,还有一种情况
-
C#实现登录窗口(不用隐藏)
(1).在程序入口处,打开登录窗口 复制代码 代码如下: static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form form = new login(); form.Show(); Application.Run(); } 复制代码 代码如下: private void button1_Click(object sender
-
C#中隐式运行CMD命令行窗口的方法
MS的CMD命令行是一种重要的操作界面,一些在C#中不那么方便完成的功能,在CMD中几个简单的命令或许就可以轻松搞定,如果能在C#中能完成CMD窗口的功能,那一定可以使我们的程序简便不少. 下面介绍一种常用的在C#程序中调用CMD.exe程序,并且不显示命令行窗口界面,来完成CMD中各种功能的简单方法. 如下所示: 复制代码 代码如下: System.Diagnosties.Process p=new System.Diagnosties.Process(); p.StartInfo.FileN
-
c#使用热键实现程序窗口隐藏示例
复制代码 代码如下: using System; using System.Text; using System.Collections; using System.Runtime.InteropServices; namespace WindowHider { /// <summary> /// Object used to control a Windows Form. /// </summary> public class Window
-
C# Winform中实现主窗口打开登录窗口关闭的方法
在使用C#进行Winform编程时,我们经常需要使用一个登录框来进行登录,一旦输入的用户名密码登录成功,这时登录窗口应该关闭,而且同时打开主程序窗口.该如何来实现呢? 乍一想,很简单啊,打开主窗口就用主窗口的Show()方法,而关闭登录窗口就用登录窗口的Close()方法即可.即代码如下: Program.cs中代码: 复制代码 代码如下: Application.Run(new FormLogin()); 登录窗口(FormLogin)代码: 复制代码 代码如下: private void b
-
C#的winform控件命名规范
本文详细讲述了C#的winform控件命名规范.分享给大家供大家参考.具体如下: 注:这里用红字标记的部分表示有重复出现,括号内为替代表示方案 1.标准控件 序号 控件类型简写 控件类型 1 btn Button 2 chk CheckBox 3 ckl CheckedListBox 4 cmb ComboBox 5 dtp DateTimePicker 6 lbl Label 7 llb LinkLabel 8 lst ListBox 9 lvw ListView 10 mtx MaskedT
-
C#实现跨线程操作控件方法
本文实例讲述了C#实现跨线程操作控件方法,分享给大家供大家参考.具体实现方法如下: 由于在.net平台下Winform.wpf禁止跨线程直接访问控件,因此在必须跨线程访问控件的时候采用异步方式. 1.winform项目中跨线程访问控件: 编写一个Winform小实例:在做winform项目中,有时为了将系统运行的状态实时显示到Form中,因此添加一个RichTextbox控件实时显示系统运行日志.本例实现的操作是将日志以字符串的形式写入RichTextbox控件,因为是实时显示,所以涉及到跨线程
-
C#获取进程的主窗口句柄的实现方法
通过调用Win32 API实现. 复制代码 代码如下: public class User32API{ private static Hashtable processWnd = null; public delegate bool WNDENUMPROC(IntPtr hwnd, uint lParam); static User32API() { if (processWnd == null) { processWnd = new
随机推荐
- 原生js实现手风琴功能(支持横纵向调用)
- nginx多server日志分割脚本分享
- python生成IP段的方法
- centos6.5下svn的使用说明
- Java多线程基础——Lock类
- php获取本周开始日期和结束日期的方法
- Oracle 11g数据库详细安装图文教程
- linux oracle数据库删除操作指南
- DropDownList设置客户端事件思路
- .net出现80080005错误的解决办法分享
- JavaScript学习笔记--常用的互动方法
- Ajax+PHP快速上手及简单应用说明
- python中matplotlib实现最小二乘法拟合的过程详解
- Apache NameVirtualHost *:80 has no VirtualHosts问题解决办法
- 完美解决mac环境使用sed修改文件出错的问题
- 使用jquery datatable和bootsrap创建表格实例代码
- JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
- 详细谈谈javascript的对象
- open 动态修改img的onclick事件示例代码
- 用root用户登陆PHPmyAdmin出现Client does not support authentication ...