.NET开发的一些小技巧
生活随笔
收集整理的這篇文章主要介紹了
.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@address1.com,email@address2.com?cc=email@address3.com&Subject=Hello&body=Happy?New?Year"
Windows?Application:
引用System.Diagnostics.Process?命名空間
Process?process?=?new?Process();
process.StartInfo.FileName?=?"mailto:email@address1.com,email@address2.com?subject=Hello&cc=email@address3.com
&bcc=email@address4.com&body=Happy?New?Year"?
process.Start();
21.?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??
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.?如何觸發Button的Click事件?(How?to?trigger?a?button?click?event??)
button1.PerformClick();
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@address1.com,email@address2.com?cc=email@address3.com&Subject=Hello&body=Happy?New?Year"
Windows?Application:
引用System.Diagnostics.Process?命名空間
Process?process?=?new?Process();
process.StartInfo.FileName?=?"mailto:email@address1.com,email@address2.com?subject=Hello&cc=email@address3.com
&bcc=email@address4.com&body=Happy?New?Year"?
process.Start();
21.?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??
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.?如何觸發Button的Click事件?(How?to?trigger?a?button?click?event??)
button1.PerformClick();
總結
以上是生活随笔為你收集整理的.NET开发的一些小技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 碳交易怎么开户
- 下一篇: asp.net ajax控件工具集 Au