.NET开发中的一些小技巧

翻译|其它|编辑:郝浩|2007-08-13 09:19:51.000|阅读 897 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

    这篇文章来自是 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. 如何打开客户端EMail程序,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. VB.NETC#有什么不同?( 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();


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:中国站长站

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP