文章分类 -  窗体实现

摘要:这是获取程序Process[] ps=Process.GetProcesses();foreach (Process p in ps){if (p.MainWindowHandle != null){richTextBox1.Text += p.MainWindowTitle + "";}}#region 查找所有应用程序标题private const int GW_HWNDFIRST = 0; ... 阅读全文
posted @ 2009-08-18 16:00 oraclejava 阅读(1264) 评论(0) 推荐(0)
摘要:主要是通过调用Windows API中的一些方法,找到目标窗口和进程之后把保存在数据库中的用户名密码自动填入输入框中,并登录。设计步骤:一、调用Windows API。 C#下调用Windows API方法如下: 1、引入命名空间:using System.Runtime.InteropServices; 2、引用需要使用的方法,格式:[DllImport("DLL文件")]方法的声明; [Dll... 阅读全文
posted @ 2009-08-18 15:59 oraclejava 阅读(724) 评论(0) 推荐(0)
摘要:public class User32API { private static Hashtable processWnd = null; public delegate bool WNDENUMPROC(IntPtr hwnd, uint lParam); static User32API() { if (processWnd == null) { processWnd = new Hashtab... 阅读全文
posted @ 2009-08-18 15:58 oraclejava 阅读(4115) 评论(0) 推荐(0)
摘要:拖一个CheckBox1、软件启动时给CheckBox重置状态:RegistryKey R_local = Registry.LocalMachine; RegistryKey R_run = R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); if (R_run.GetValue("BirthdayTip... 阅读全文
posted @ 2009-08-18 15:57 oraclejava 阅读(208) 评论(0) 推荐(0)
摘要:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;names... 阅读全文
posted @ 2009-08-18 15:56 oraclejava 阅读(289) 评论(1) 推荐(0)
摘要:我们可能会用到一个没有边框的窗体,因为这样我们可以在整个窗体上自由的绘制。然后我们也会发现一个讨厌的问题,这个时候在任务栏上鼠标右键点不出那可爱的系统菜单了。这样会不好,会使得用户感觉到没有道理,为什么别的窗口都有系统菜单,而只有我们的窗体没有系统菜单呢?   其实如果我们使用VC建立MFC程序的时候,我们可以把窗体的“Title Bar”设置为False,这样MFC的窗口... 阅读全文
posted @ 2009-08-18 15:53 oraclejava 阅读(416) 评论(0) 推荐(0)
摘要:引言:谁都希望自己的应用程序能让人留下一个深刻的印象,让自己的程序窗体有一件与众不同的"外衣"是一个好办法。试想:在一大堆的普通窗口中突然跳出一个很酷的界面,一定能让人眼睛一亮进而产生兴趣的。在VB,VC中如何定制可伸缩个性化窗口早就不是什么秘密了,已经有了大量相关的文章进行介绍,无非都是如何调用系统API之类的方法,但是在.Net中调用API却相对比较麻烦,所以使用.Net制作个性化窗体的文章也... 阅读全文
posted @ 2009-08-18 15:51 oraclejava 阅读(270) 评论(0) 推荐(0)
摘要:我们知道,C#里面有选择文件的对话框控件,却没有选择文件夹的对话框控件,不少人为了选择一个文件夹只好自己用TreeView类来处理,其实在C#里面完全不用那么麻烦,我们可以用C#的FolderNameEditor类的子类FolderBrowser类来实现获取浏览文件夹对话框的功能。   下面来看看具体是怎么实现的。  首先新建一个winform的项目,再新建一个类文件(File->AddNe... 阅读全文
posted @ 2009-08-18 15:44 oraclejava 阅读(181) 评论(0) 推荐(0)
摘要:由于C#目前我还没有找到发送消息的类成员函数,所以只能采用通过调用WIN 32 API 的 SendMessage() 函数实现。由于 SendMessage的参数中需要得到窗体的句柄(handler) ,所以又要调用另一个API FindWindow(), 两者配合使用,达到在不同窗体之间的消息发送和接收功能。 另外一个要点是,需要通过重写(Override) 窗体的 DefWndProc()... 阅读全文
posted @ 2009-08-18 15:18 oraclejava 阅读(497) 评论(0) 推荐(0)
摘要:在设置窗体的画面初始位置时,当将其StartPosition属性值设置为CenterScreen时,窗体会显示在显示器的中央,然而当程序在笔记本和台式机中运行时,其位置竟然不同。其中台式机显示器和笔记本显示器相同,均为17英寸。在台式机上设置该属性时,在台式机上运行没任何问题,然而在笔记本上运行时则不显示在屏幕中央,当在笔记本上设置该属性时,在笔记本上运行没问题,然而在台式机上就有问题了。代码如下... 阅读全文
posted @ 2009-08-18 15:12 oraclejava 阅读(199) 评论(0) 推荐(0)
摘要:在 Visual C# .NET 中提供的进度条控件只支持 Standard 视图。    本文的代码样例揭示了如何建立一个有如下属性的控件:    Minimum。该属性表示了进度条的最小值。默认情况下是 0 ;您不能将该属性设为负值。    Maximum。该属性表示了进度条的最大值。默认情况下是 100 。    Value。该属性表示了进度条的当前值。该值必须介于 Minimum 和 Ma... 阅读全文
posted @ 2009-08-18 15:09 oraclejava 阅读(1211) 评论(0) 推荐(0)
摘要:显示动态光标和图标的基本原理:在计时器控件的Tick事件下处理过程把一系列图标或光标赋予给窗体的"iCON"属性,以形成连续播放的图标或光标从而形成动态1.在窗体上添加一个计时器"timer1"控件,并准备一些图标1.ico,2.ico.........和光标1.cur,2.cur.............下面是源码:using System;using System.Collections.Ge... 阅读全文
posted @ 2009-08-18 15:03 oraclejava 阅读(298) 评论(0) 推荐(0)
摘要:protected override void OnFormClosing(FormClosingEventArgs e) { if (MessageBox.Show("你确认要退出该程序吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogRes... 阅读全文
posted @ 2009-08-18 15:02 oraclejava 阅读(590) 评论(0) 推荐(0)
摘要:MessageBox.Show("当前窗体标题栏高度"+(this.Height - this.ClientRectangle.Height).ToString());//获得当前窗体标题栏高度ClientRectangle//获取表示控件的工作区的矩形MessageBox.Show(SystemInformation.PrimaryMonitorSize.ToString()); //获取主显示... 阅读全文
posted @ 2009-08-18 15:01 oraclejava 阅读(458) 评论(0) 推荐(0)
摘要:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace WindowsApplication1{public parti... 阅读全文
posted @ 2009-08-18 15:01 oraclejava 阅读(183) 评论(0) 推荐(0)
摘要:1. 执行如下按钮事件 private void btnFormMax_Click(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Maximized) { this.WindowState = FormWindowState.Normal; } else { this.WindowState = Form... 阅读全文
posted @ 2009-08-18 15:00 oraclejava 阅读(283) 评论(0) 推荐(0)
摘要:①新建一窗体,拉一Timer控件,Interval值设置为20,双击Timer控件进入事件编写:private void timer1_Tick(object sender, EventArgs e){// 计时器事件if (this.Opacity > 0){this.Opacity -= 0.02;}else {this.timer1.Enabled = false;Appl... 阅读全文
posted @ 2009-08-18 14:59 oraclejava 阅读(611) 评论(0) 推荐(0)
摘要:窗体嵌套   经验丰富的Visual Basic开发者知道多文档界面(MDI)应用程序能够包含子窗体,那些子窗体由MDI父窗体管理。但是如果没有MDI的能力你怎样实现包含嵌套窗体?例如一个MDI子窗体也可能需要包含另一个窗体。  有时能够使用用户控件(UserControl)实现这种功能,但是如果你真的需要把一个窗体嵌套进另一个窗体,有多种方法可以实现。窗体衍生自Control类,这意味着它能被放... 阅读全文
posted @ 2009-08-18 14:58 oraclejava 阅读(480) 评论(0) 推荐(0)
摘要:经常可以看到这样的程序,点了关闭按扭后程序并没有关闭,而是最小化到了系统拖盘处,就像网易泡泡,MSN之类的程序。实现这个其实很简单,捕捉窗体关闭时的消息就可以了。代码如下:protected override void WndProc(ref Message m){const int WM_SYSCOMMAND = 0x0112;const int SC_CLOSE = 0xF060;if (m.... 阅读全文
posted @ 2009-08-18 14:53 oraclejava 阅读(198) 评论(0) 推荐(0)
摘要:1.将窗体的属性KeyPrieview设置为true2.在窗体KeyDown事件中加如下代码private void FormVali_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { //屏掉alt+f4 if ((e.KeyCode == Keys.F4)&&(e.Alt == true)) { e.Ha... 阅读全文
posted @ 2009-08-18 14:50 oraclejava 阅读(203) 评论(0) 推荐(0)