.Net 開發中的一些小技巧集錦。這篇文章來自是Mukund Pujari的《Some Cool Tips for .Net》,本人給大家翻譯總結一下,我英語水平也就那麼回事,不合適的地方還是請大家提出來。
1. 如何創建一個可改變大小沒有標題欄的窗體?(How to create a form with resizing borders and no title bar?)
form1.Text = string. Empty;2. 如何在.NET的Windows窗體上啟用XP主題集?(How to use XP Themes with Windows Forms using the .Net?)
確認你的控件中FlatStyle屬性已經修改為System,再修改Main方法。
static void Main()3. 如何為一個窗體設置一個默認按鈕?(How to set the default button for a form?)
form1.AcceptButton = button1;4. 如何為一個窗體設置一個取消按鈕?(How to set the Cancel button for a form?)
form1.CancelButton = button1;5. 如何阻止一個窗體標題顯示在任務欄上?(How to prevent a form from being shown in the taskbar?)
設置窗體的ShowIntaskbar屬性為False
6. 如何用現有可用字體綁定到ComboBox控件?(How to fill a ComboBox with the available fonts?)
comboBox1.Items.AddRange (FontFamily.FamilIEs);7. 如何禁止TextBox控件默認的郵件菜單?(How to disable the default ContextMenu of a TextBox?)
textBox1.ContextMenu = new ContextMenu ();8. 如何獲取“我的文檔”等一些系統文件夾路徑?(How to get the path for "My Documents" and other system folders?)
Environment.SpecialFolder中包含了一些系統文件夾信息
MessageBox.Show(Environment.GetFolderPath( Environment.SpecialFolder.Personal ));9. 如何獲取應用程序當前執行的路徑?(How to get the path to my running EXE?)
string appPath = Application.ExecutablePath;10. 如何確定當前運行的系統?(How to determine which Operating system is running?)
OperatingSystem os = Environment.OSVersion;11. 如何從完整的路徑中獲取文件名?(How to get a file "s name from the complete path string?)
用System.IO.Path.GetFileName 和 System.IO.Path.GetFileNameWithoutExtension(無擴展名)的方法
12. 如何從完整的路徑中獲取文件擴展名?(How to get a file "s extension from the complete path string?)
用System.IO.Path.GetExtension方法
13. 如何使沒有選擇日期的DateTimePicker控件為空文本?(How to make the DateTimePicker show empty text if no date is selected?)
dateTimePicker1.CustomFormat = " ";14. 如何在Report Viewer中隱藏Crystal Report的狀態欄?(How to hide the status bar of Crystal Report in Report VIEwer?)
foreach(object obj in this.crystalReportVIEwer1.Controls)15. 如何利用Crystal Report程序來生成PDF版本?(How to generate PDF version of Crystal Report programmatically?)
ReportDocument O_Report=new ReportDocument();
ExportOptions exportOpts = new ExportOptions();
PdfRtfWordFormatOptions pdfFormatOpts = new PdfRtfWordFormatOptions ();
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
exportOpts = O_Report.ExportOptions;
// 設置PDF格式
exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat;
exportOpts.FormatOptions = pdfFormatOpts;
// 設置文件選項和導出
exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
diskOpts.DiskFileName = "C://Trial.pdf"; //設置PDF導出路徑
exportOpts.DestinationOptions = diskOpts;
O_Report.Export ();
16.通過代碼如何輸入多行文本?(How to enter multiline text in textbox through code? )
利用TextBox控件的LINES屬性
string [] strAddress = {"Mukund Pujari","Global Transformation TechnologIEs","Pune, India"};
textBox1.MultiLine=true;
textBox1.Lines=strAddress;
或者
textBox1.Text="Line 1\r\nLine2\r\nLine3.";
或者
用"System.Environment.NewLine"來替代換行符號
17. 如何在DataGrid中去掉CheckBox不確定狀態?(How to remove the indeterminate status of checkbox in datagrid?)
DataGridTableStyle ts1 = new DataGridTableStyle(); //創建Table樣式
ts1.MappingName = "Items"; //分配要應用樣式的Data Table
DataGridColumnStyle boolCol = new DataGridBoolColumn(); // 創建CheckBox列
boolCol.MappingName = "ch"; //分配數據列名稱
boolCol.AllowNull=false; // 修改AllowNull屬性
18. 如何在用一個數據源DataTable綁定兩個控件,確保變化不反映在兩個控件中?( How to bind two controls to the same DataTable without having changes in one control also change the other control?)網頁教學網
我們在一個Form中放置一個ListBox和一個ComboBox控件,當數據源是一個DataTable而且綁定的ValueMember一致的時候我們選擇ListBox中的一個Item時,ComboBox控件中的相同的Item也會被自動選中,我們可以采取建立新的上下文綁定對象來拒絕這樣的同步操作
comboBox1.DataSource = dataset.Tables[ "Items" ];
comboBox1.ValueMember = "CustomerID";
comboBox1.DisplayMember = "CustomerID";
listBox1.BindingContext = new BindingContext(); // 設置新的上下文綁定對象
listBox1.DataSource = dataset.Tables[ "Items" ];
listBox1.ValueMember = "CustomerID";
listBox1.DisplayMember = "CustomerID";
19. 一個簡單的創建鏈接字符串的方法。(An easy way to build connection string.)
記事本創建一個New.udl的文件,一個Microsoft 數據鏈接文件
雙擊打開,熟悉吧
按照向導創建完成一個數據庫鏈接,測試成功
確定後,鏈接字符串寫入這個文件,用記事本打開就看到了
20. 如何打開客戶端E-Mail程序,Windows應用和Web應用?( How to open default E-mail clIEnt on your system with all parameters entered in it,like Outlook Express or Eudora, from your .Net Windows or Web Application? )
Web Application:
A href="mailto:[email protected],[email protected][email protected]&Subject=Hello&body=Happy New Year"
Windows Application:
引用System.Diagnostics.Process 命名空間
Process process = new Process();
process.StartInfo.FileName = "mailto:[email protected],[email protected]?subject=Hello&[email protected]
&[email protected]&body=Happy New Year" ;
process.Start();
21. VB.NET和C#有什麼不同?( What is difference beween VB.NET and C#.Net? )
去微軟下載一個文檔吧,http://download.microsoft.com/download/6/3/5/6354bf47-c597-4029-89e9-2495e7539ab9/vbcsharpwp.exe
22. 如何使Windows Form上的Panel或者Label控件半透明?(How to make a Panel or Label semi-transparent on a Windows Form? )
通過設置控件背景色的alpha值網頁教學網
panel1.BackColor = Color.FromArgb(65, 204, 212, 230);
注意:在設計時手動輸入這些值,不要用顏色選取
23. C#程序的主函數寫[STA Thread] 屬性是什麼目的?(What is the purpose of the [STA Thread] attribute for the Main method of a C# program? )
http://community.csdn.Net/Expert/topic/4132/4132313.XML?temp=.2285272
24. 如何觸發Button的Click事件?(How to trigger a button click event? )
button1.PerformClick();