這篇文章來自是Mukund Pujari的《Some Cool Tips for .Net》,本人給大家翻譯總結一下,我英語水平也就那麼回事,不合適的地方還是請大家提出來。
1. 如何創建一個可改變大小沒有標題欄的窗體?(How to create a form with resizing borders and no title bar?)
form1.Text = string. Empty;
form1.ControlBox = false;
2. 如何在.NET的Windows窗體上啟用XP主題集?(How to use XP Themes with Windows Forms using the .Net?)
確認你的控件中FlatStyle屬性已經修改為System,再修改Main方法。
static void Main()
{
Application.EnableVisualStyles();
Application.DoEvents();
Application. Run(new Form1());
}
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;
MessageBox.Show(os.Version.ToString());
MessageBox.Show(os.Platform.ToString());
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 = " ";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
14. 如何在Report Viewer中隱藏Crystal Report的狀態欄?(How to hide the status bar of Crystal Report in Report VIEwer?)
foreach(object obj in this.crystalReportVIEwer1.Controls)
{
if( obj.GetType()== typeof(System.Windows.Forms.StatusBar))
{
StatusBar sBar=(StatusBar)obj;
sBar.Visible=false;
}
}
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. How to find whether your system has mouse or the number of buttons, whether it has wheel, or whether the mouse buttons are swapped or size of your monitor and many such information?
23. 如何使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);
注意:在設計時手動輸入這些值,不要用顏色選取
24. 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
25. 如何觸發Button的Click事件?(How to trigger a button click event? )
button1.PerformClick();