文章分类 -  .NET模块:WINFORM

C#窗体
摘要:在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问题,尤其是传递和返回字符串是,现总结一下,分享给大家:VC++中主要字符串类型为:LPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTR等但转为C#类型却不完全相同。主要有如下几种转换:将string转为IntPtr:IntPtr System.Runtime.InteropServices.Marshal.StringToCoTaskMemAuto(string)将IntPtr转为string:string System.Runtime.InteropServices.M 阅读全文
posted @ 2012-05-25 09:07 浪子の无悔 阅读(41161) 评论(3) 推荐(3)
摘要:修改Program.cs 文件 /// /// 应用程序的主入口点。 /// [STAThread] public static void Main() { bool ret; System.Threading.Mutex mutex = new System.Threading.Mutex(true, Appl... 阅读全文
posted @ 2009-02-11 09:46 浪子の无悔 阅读(326) 评论(0) 推荐(0)
摘要:在查询大数据量时,窗体界面会不动,“正在查询...”的提示也不能显示。所以打算用多线程来实现, 可是当在线程里面执行到 this.dataGridDF.DataSource=dt.DefaultView;填充数据 时却提示报错,说什么该线程不能调用主线程创建的控件等等。 后来查了许多资料,终于搞定。可以在查询数据库时操作别的了,“正在查询...”的提示也显示了。 //或者在前面用一个线程查... 阅读全文
posted @ 2008-08-12 10:14 浪子の无悔 阅读(292) 评论(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.Data.SqlClient; using ... 阅读全文
posted @ 2008-07-30 09:21 浪子の无悔 阅读(509) 评论(0) 推荐(0)
摘要:最近因需要,做一個記錄程序運行時間的代碼,並計算耗時,以便於測試程序運行速度。 原理: 被測程序之間定義兩個記錄點。第一個記錄點記錄開始,第二個記錄點記錄結束,得出耗時,保存到文件。這兩個記錄點用標志參數來對應。 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHigh... 阅读全文
posted @ 2008-07-28 12:48 浪子の无悔 阅读(593) 评论(0) 推荐(0)
摘要:using System.Runtime.InteropServices; [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, in... 阅读全文
posted @ 2008-07-28 12:47 浪子の无悔 阅读(347) 评论(2) 推荐(1)
摘要:程序完成後,要對其進行測試。我做一個記錄時間的程序,便於測試。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> #region 記錄時間 測試使用 /// /// 得到當前時間 ///... 阅读全文
posted @ 2008-07-28 12:35 浪子の无悔 阅读(545) 评论(0) 推荐(0)
摘要:設置當子窗體的的大小小於主窗體時,自動調整大小 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> //soctt 20070827 窗體大小改變事件 this.SizeChanged += new EventHandler(F... 阅读全文
posted @ 2008-07-28 12:33 浪子の无悔 阅读(332) 评论(0) 推荐(0)
摘要:我分別編寫了主窗題和子窗體的Closing事件,可當關閉主窗體時,同時也觸發了子窗體的Closing事件。這個讓我很頭疼。 不過我還是找到了解決方法。即在子窗體中加入一個 ”e.CloseReason“ 的事件判斷。 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighligh... 阅读全文
posted @ 2008-07-28 12:33 浪子の无悔 阅读(386) 评论(0) 推荐(0)
摘要://子表單啟動或關閉事件 this.MdiChildActivate += new EventHandler(FMzMain_MdiChildActivate); Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> private... 阅读全文
posted @ 2008-07-28 12:32 浪子の无悔 阅读(285) 评论(0) 推荐(0)
摘要://定義右鍵 ToolStripMenuItem DeletePhraseMe = new ToolStripMenuItem(); DeletePhraseMe.Name = "DeleteBookMark"; DeletePhraseMe.Text = "刪除詞庫"; //定義右鍵事件 ... 阅读全文
posted @ 2008-07-28 12:31 浪子の无悔 阅读(304) 评论(0) 推荐(0)
摘要:設置控件的標準顏色類: System.Drawing.SystemColors類 0到9之間數字的ASCII值: 0到9之間數字的ASCII值是48到57,所以就保證字符在這個範圍內。ASCII值8表示退格鍵。 控件的操作無效 KeyPressEventArgs的Handled屬性設置為True,告訴控件不就對字符進行任何操作。 如得到ToolStrip中的子控件 ... 阅读全文
posted @ 2008-07-28 12:31 浪子の无悔 阅读(274) 评论(0) 推荐(0)
摘要:當我們新建了一個windows窗體應用程序后,單擊運行,后Visual Studo 2005如何顯示窗體的呢?當有多個窗體時,又如何判斷要顯示的窗體呢? 仔細觀察「解決方案資源管理器時」,你會發殃一個名為Program.cs的文件。「查看代碼」后,其中最關鍵的語句是: Code highlighting produced by Actipro CodeHighlighter (freeware... 阅读全文
posted @ 2008-07-28 12:29 浪子の无悔 阅读(334) 评论(0) 推荐(0)
摘要:方法: 一、調用窗體FormClosing事件 二、在事件方法中編寫提示代碼 1、調用窗體FormClosing事件 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> //窗體的Closing事件,窗體關閉之前... 阅读全文
posted @ 2008-07-28 12:29 浪子の无悔 阅读(811) 评论(0) 推荐(0)
摘要://獲得桌面路徑 string filder = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); Environment:提供有關目前環境和平台的資訊,以及操作的方法。 Environment.SpecialFolder:提供系統特殊文件夾目錄,其成員如下: ... 阅读全文
posted @ 2008-07-28 12:28 浪子の无悔 阅读(638) 评论(0) 推荐(0)
摘要:方法: 1、創建一個菜單項數組。 2、在數組中增加菜單項 3、創建一個彈出式引用菜單 4、將菜單與菜單項加入到彈出式引用菜單中 5、將控件的ContextMenuStrip屬性設置成彈出菜單 如下例: 例1: Code highlighting produced by Actipro CodeHighlighter (freeware) http... 阅读全文
posted @ 2008-07-28 12:27 浪子の无悔 阅读(3185) 评论(0) 推荐(0)
摘要:# 中如何打印文件呢,本例將用一個實例(打印一些字符)作說明。 本例過程為: 1. 調用打印對話框 2. 啟動打印程序 3. 建立打印事件 4. 建立StringBuilder 5. 將打印內容寫入建立StringBuilder 6. 繪制打印內容(即打印) Code highlighting produced by Actipro CodeHighlighter (freeware) ht... 阅读全文
posted @ 2008-07-28 12:27 浪子の无悔 阅读(1194) 评论(0) 推荐(0)
摘要:1.最小化 WindowState = FormWindowState.Minimized; //最小化时隐藏窗体 this.Visible=false; 2.最大化 WindowState == FormWindowState.Maximized; 3.还原为正常 WindowState == FormWindowState.Normal; 4.在托盘显示 打开 VS.net的工具箱,然后... 阅读全文
posted @ 2008-07-28 12:25 浪子の无悔 阅读(667) 评论(0) 推荐(0)
摘要:傳統上,可以為Windows編寫3種應用程序,它們是: 1)基於對話框的應用程序,它們給用戶顯示一個對話框,該 對話框提供了所有的功能。如計算器 2)單一文檔界面(SDI),這些應用程序給用戶顯示一個菜單、一個或多個工具欄和一個窗口,在該窗口中,用戶可以執行任務。如WordPad 3)多文檔界面(MDI),這些應用程序的執行方式與SDI相同,但可以同時打開多個窗口。 ... 阅读全文
posted @ 2008-07-28 12:23 浪子の无悔 阅读(1033) 评论(0) 推荐(0)
摘要:這里使用SMTP發郵件,什麼是SMTP呢?SMTP:“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。 要發送郵件,先了解郵件有哪些內容構成: 郵件服務器地址 端口 寄件人 收件人 副本人 ... 阅读全文
posted @ 2008-07-28 12:22 浪子の无悔 阅读(489) 评论(0) 推荐(0)