2012-11-29 18:44:59 xyw_Eliot 阅读数 1433
  • C#程序设计语言

    为什么要学习C#?C#是微软的王牌语言,拥有接近20年的历史和广泛的应用。目前国内对C#的书籍和视频相对较少,但C#和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,C#的开源,.NET Core社区的蓬勃发展,以及.NET开发岗位需求的不断增加。C#用途广泛,容易上手。可以说,如果你熟悉C#语言,你将不愁找不到好的工作。 本课程详细的讲述了一名C#初级程序员需要掌握的各项知识,其中基础和面向对象是重中之重。课程主要特点: 1. 紧跟C#发展,使用**语言和开发环境版本。 2. 结合应用案例,力求做到深入浅出,明白易懂 通过本课的学习,使学生掌握C#语言的语法知识,理解和掌握面向对象程序设计的思想和方法,能熟练使用Visual Studio集成开发环境编写、调试和测试控制台应用软件、Winform应用软件;运用ADO.NET开发数据库应用程序,具有面向对象程序设计、分析和调试能力。 希望本套课程在你学习C#的过程中,可以对你有所帮助。

    861 人正在学习 去看看 张晨光
Visual C# 对话框详解


  对话框中我们常用了以下几种:

  1、文件对话框(FileDialog) 它又常用到两个:

   打开文件对话框(OpenFileDialog)

   保存文件对话(SaveFileDialog)

  2、字体对话框(FontDialog)

  3、颜色对话框(ColorDialog)

  4、打印预浏对话框(PrintPreviewDialog)

  5、页面设置(PrintDialog)

  6、打印对话框(PrintDialog)

  还有更多,有时间的网友可以看看MSDN。下面我们一个个来介绍。


  文件对话框(FileDialog)

  一、打开文件对话框(OpenFileDialog)


  1、 OpenFileDialog控件有以下基本属性 

InitialDirectory对话框的初始目录Filter要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"FilterIndex在对话框中选择的文件筛选器的索引,如果选第一项就设为1RestoreDirectory控制对话框在关闭之前是否恢复当前目录FileName第一个在对话框中显示的文件或最后一个选取的文件Title将显示在对话框标题栏中的字符AddExtension是否自动添加默认扩展名CheckPathExists
在对话框返回之前,检查指定路径是否存在DefaultExt默认扩展名DereferenceLinks在从对话框返回前是否取消引用快捷方式ShowHelp
启用"帮助"按钮ValiDateNames控制对话框检查文件名中是否不含有无效的字符或序列

  2、 OpenFileDialog控件有以下常用事件

FileOk当用户点击"打开"或"保存"按钮时要处理的事件HelpRequest当用户点击"帮助"按钮时要处理的事件

  3、OpenFileDialog的效果如下:

  可以用以下代码来实现上面这个对话框:

private void openFileDialogBTN_Click(object sender, System.EventArgs e){
OpenFileDialog openFileDialog=new OpenFileDialog();
openFileDialog.InitialDirectory="c:\\";//注意这里写路径时要用c:\\而不是c:\
openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";
openFileDialog.RestoreDirectory=true;
openFileDialog.FilterIndex=1;
if (openFileDialog.ShowDialog()==DialogResult.OK)
{
fName=openFileDialog.FileName;
File fileOpen=new File(fName);
isFileHaveName=true;
richTextBox1.Text=fileOpen.ReadFile(); 
richTextBox1.AppendText("");
}
}

  其中有用到了File()这个类,是我在程序用来执行文件操作,自己写的,在最后附了这个类的源码。有兴趣的网友可以自己分析。

  二、保存文件对话框(SaveFileDialog)

  保存文件对话框控件有两种情况,一就是保存,二就是另存为,保存很简单,就是在文件已经打开的情况下的,再把文件写一篇,在这里我们主要讲另存为的情况(SaveAs)。

  1,SaveFileDialog控件的属性

Filter要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"FilterIndex在对话框中选择的文件筛选器的索引,如果选第一项就设为1RestoreDirectory控制对话框在关闭之前是否恢复当前目录AddExtension是否自动添加默认扩展名CheckFileExistsCheckPathExists
在对话框返回之前,检查指定路径是否存在Container控制在将要创建文件时,是否提示用户。只有在ValidateNames为真值时,才适用。DefaultExt缺省扩展名DereferenceLinks
在从对话框返回前是否取消引用快捷方式FileName第一个在对话框中显示的文件或最后一个选取的文件InitialDirector对话框的初始目录OverwritePrompt控制在将要在改写现在文件时是否提示用户,只有在ValidateNames为真值时,才适用ShowHelp启用"帮助"按钮Title将显示在对话框标题栏中的字符ValidateNames控制对话框检查文件名中是否不含有无效的字符或序列

  2、SaveFileDialog事件如下:

FileOk当用户点击"打开"或"保存"按钮时要处理的事件HelpRequest当用户点击"帮助"按钮时要处理的事件

  3、SaveFileDialog的效果如下:

  4、用下例代码可以实现

private void saveAsDialogBTN_Click(object sender, System.EventArgs e)
{
SaveFileDialog saveFileDialog=new SaveFileDialog();
saveFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";
saveFileDialog.FilterIndex=2;
saveFileDialog.RestoreDirectory=true;
if(saveFileDialog.ShowDialog()==DialogResult.OK)
{
if(saveFileDialog.ShowDialog()==DialogResult.OK)
{
fName=saveFileDialog.FileName;
File fSaveAs=new File(fName);
isFileHaveName=true; file://保存的文件有名字
fSaveAs.WriteFile(richTextBox1.Text);
}
}
}

  其实这些都可以在VS.NET的IDE环境中直接完成,为了说明问题,我还是一条条列也来了。当中用到了一个File的类库,下面是源程序:

  File.cs

using System;
using System.IO;
using System.Windows.Forms;
using System.Text;

namespace dialog
{
/// 
/// Summary description for File.
/// 
public class File
{
string fileName;
public File(string fileName)
{
this.fileName=fileName;
}

public string ReadFile()
{
try
{
StreamReader sr=new StreamReader(fileName,Encoding.Default);
string result=sr.ReadToEnd();
sr.Close();
return result;
}
catch(Exception e){MessageBox.Show(e.Message);}
return null;
}

public void WriteFile(string str)
{
try
{
StreamWriter sw=new StreamWriter(fileName,false,Encoding.Default);
sw.Write(str);
sw.Close();
}
catch(Exception e){MessageBox.Show(e.Message,"保存文件出错!");}
}
}
}

字体对话框(FontDialog)

  在文字处理中,我们常用到字体,现在我们来做一个最常见的字体对话框。

  一、 字体对话框(FontDialog)常用属性
ShowColor控制是否显示颜色选项AllowScriptChange是否显示字体的字符集Font在对话框显示的字体AllowVerticalFonts是否可选择垂直字体Color在对话框中选择的颜色FontMustExist当字体不存在时是否显示错误MaxSize可选择的最大字号MinSize可选择的最小字号ScriptsOnly显示排除OEM和Symbol字体ShowApply是否显示"应用"按钮ShowEffects是否显示下划线、删除线、字体颜色选项ShowHelp是否显示"帮助"按钮

  二、 字体对话框(FontDialog)的事件

Apply当点击"应用"按钮时要处理的事件HelpRequest当点击"帮助"按钮时要处理的事件

  三、 字体对话框(FontDialog)的效果

  四、 实现代码

private void fontDialogBTN_Click(object sender, System.EventArgs e)
{
FontDialog fontDialog=new FontDialog();
fontDialog.Color=richTextBox1.ForeColor;
fontDialog.AllowScriptChange=true;
fontDialog.ShowColor=true;
if(fontDialog.ShowDialog()!=DialogResult.Cancel)
{
richTextBox1.SelectionFont=fontDialog.Font;//将当前选定的文字改变字体
}
}

  上面代码将选定的文本设置为当前FontDialog对话框中的字体。

  颜色对话框(ColorDialog)

  颜色拾取框也是我们常见的对话框之一,下面我们来看看在C#中是如何操作颜色对话框的呢?

  一、 颜色对话框(ColorDialog)的常见属性

AllowFullOpen禁止和启用"自定义颜色"按钮FullOpen是否最先显示对话框的"自定义颜色"部份ShowHelp是否显示"帮助"按钮Color在对话框中显示的颜色AnyColor显示可选择任何颜色CustomColors是否显示自定义颜色SolidColorOnly是否只能选择纯色

  二、 颜色对话框(ColorDialog)的效果如下:

  三、 实现代码见下:

private void colorDialogBTN_Click(object sender, System.EventArgs e)
{
ColorDialog colorDialog=new ColorDialog();
colorDialog.AllowFullOpen=true;
colorDialog.FullOpen=true;
colorDialog.ShowHelp=true;
colorDialog.Color=Color.Black;//初始化当前文本框中的字体颜色,当用户在ColorDialog对话框中点击"取消"按钮
file://恢复原来的值
colorDialog.ShowDialog();
richTextBox1.SelectionColor=colorDialog.Color;
}

  实现颜色对话框(ColorDialog)很容易吧,其实不只是颜色对话框,C#也是很容易的,只要用心去学,都容易的。讲完了颜色对话框(ColorDialog),我们来讲打印和页面设置.

  页面设置(PageSetupDialog)

  其实页面设置(PageSetupDialog)没有太多的讲,既然讲到这里,我还是把PageSetupDialog中常用的属性列出来吧

  一、页面设置(PageSetupDialog)常见属性

AllowMargins设置是否可以对边距的编辑AllowOrientation是否可以使用"方向"单选框AllowPaper设置是否可以对纸张大小的编辑AllowPrinter设置是否可以使用"打印机"按钮Document获取打印机设置的PrintDocumentMinMargins允许用户选择的最小边距

  二、面设置(PageSetupDialog)的效果如下

  就这么简单啦,我们看看下面的吧,还有更重磅的东东呢?关于打印的。

  打印预浏及打印

  打印是我们在windows编程中常要用到的功能,在以前都是很麻烦工作,但在Microsoft .net Framework中打印是以组件提供给我们使用,不过还是点麻烦的,所以就专门写出来,供大家参改。

  一, 在.net环境中,说到打印,就不能不说PrintDocumet这个类,PrintDocument属于System.Drawing.Printing这个名字空间,PrintDocument这个类是实现打印的核心代码。

  如果要实现打印,就必需首先构造PrintDocument对象添加打印事件,
printDocument.PrintPage+=new PrintPageEventHandler(this.printDocument_PrintPage)
打印其实也是调用Graphics类的方法进行画图,下面这代码是根据MSDN上提供的例程改写的。MSDN打印例程地址: 

  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDrawingPrintingPrintDocumentClassTopic.asp ,有兴趣的网友可以参改一下。

  下面是我改写的printDocument_PrintPage:

private void printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
float linesPerPage=0;//页面的行号
float yPos=0;//打印字符串的纵向位置
int count=0;//行计数器
float leftMargin =e.MarginBounds.Left;//左边距
float topMargin=e.MarginBounds.Top;//上边距
string line=null;//行字符串
Color clr=richTextBox1.SelectionColor;//当前的打印颜色,在我这个程序没有实现不同颜色打印
SolidBrush b =new SolidBrush(clr);//刷子
fnt=richTextBox1.SelectionFont;//当前的打印字体 
linesPerPage=e.MarginBounds.Height/fnt.GetHeight(e.Graphics);//每页可打印的行数
file://逐行循行打印一页
while(count {
yPos=topMargin+(count*fnt.GetHeight(e.Graphics));
e.Graphics.DrawString(line,fnt,b,leftMargin,yPos,new StringFormat());
count++;
}
file://如果该页打印完成而line不为空说明还有没完成的页面,发出下一次的打印事件,
file://在下一次的打印中lineReader会自动读取上次没有打印完的内容。lineReader可以记录当前读取的位置
if(line!=null)
e.HasMorePages=true;
else
e.HasMorePages=false;
}

  在这里可以完成整个打印任务。把printDocument_PrintPage构造好后,就可以打印和打印预浏。

  二、打印预浏对话框(PrintPreviewDialog)

  打印预浏控件是用来显示一个打印文档在打印后的效果。在打印预浏对话框中包含有,打印、缩放、单页或多页、关闭等按钮。对话框如下:

  打印预浏对话框没有太多的属性,最后通过ShowDialog()调用。上面的实现代码如下:

private void printPreviewBTN_Click(object sender, System.EventArgs e)
{
lineReader = new StringReader(richTextBox1.Text);
try
{
PrintPreviewDialog printPreviewDialog1=new PrintPreviewDialog();
printPreviewDialog1.Document=printDocument;
printPreviewDialog1.FormBorderStyle=FormBorderStyle.Fixed3D;
printPreviewDialog1.ShowDialog(this);
}
catch(Exception excep)
{
MessageBox.Show(excep.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}

  很简单的,只要你把PrintDocument_PrintPage()写好了,这里就很容易了。

  三、打印对话框(PrintDialog)

  1、打印对话框(PrintDialog)只要有以下属性:

AllowPrintToFile禁止或使用"打印到文件"复选框AllowSelection禁止或使用"选定内容"单选框AllowSomePages禁止或使用"页"单选按钮Document从中获取打印机设置的PrintDocumentPrintToFile打印到文件"复选框是否选中ShowHelp控制是否显示"帮助"按钮ShowNetWork控制是否显示"网络"按钮

  2、效果如下:

  3、用如下代码来实现:

private void printDialogBTN_Click(object sender, System.EventArgs e)
{
PrintDialog printDialog=new PrintDialog();
printDialog.Document=printDocument;
if(printDialog.ShowDialog()!=DialogResult.Cancel)
{
try
{
printDocument.Print();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}

  到此,所有的对话框都讲完了,头都大了吧。

  上述对话框,完全可以在vs.net的IDE环境中完成 ,这时为了说明问题,才分开一步步来讲。



  总结

  在我们的教程,共讲述了文件对话框(FileDialog)、字体对话框(FontDialog)、,颜色对话框(ColorDialog)、打印预浏对话框(PrintPreviewDialog)、页面设置(PrintDialog)、打印对话框(PrintDialog),这几个对话框,其中文件对话框(FileDialog)又有:打开文件对话框(OpenFileDialog)、保存文件对话(SaveFileDialog)这两个对话框。有了上述基础,大家可以很容易的写出一个简单的记事本。

2019-07-17 01:36:45 weixin_30325071 阅读数 69
  • C#程序设计语言

    为什么要学习C#?C#是微软的王牌语言,拥有接近20年的历史和广泛的应用。目前国内对C#的书籍和视频相对较少,但C#和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,C#的开源,.NET Core社区的蓬勃发展,以及.NET开发岗位需求的不断增加。C#用途广泛,容易上手。可以说,如果你熟悉C#语言,你将不愁找不到好的工作。 本课程详细的讲述了一名C#初级程序员需要掌握的各项知识,其中基础和面向对象是重中之重。课程主要特点: 1. 紧跟C#发展,使用**语言和开发环境版本。 2. 结合应用案例,力求做到深入浅出,明白易懂 通过本课的学习,使学生掌握C#语言的语法知识,理解和掌握面向对象程序设计的思想和方法,能熟练使用Visual Studio集成开发环境编写、调试和测试控制台应用软件、Winform应用软件;运用ADO.NET开发数据库应用程序,具有面向对象程序设计、分析和调试能力。 希望本套课程在你学习C#的过程中,可以对你有所帮助。

    861 人正在学习 去看看 张晨光
c#对话框大全,引自http://www.cnblogs.com/terry52/archive/2005/12/19/300010.html 对话框中我们常用了以下几种: 1、文件对话框(FileDialog) 它又常用到两个:    打开文件对话框(OpenFileDialog)    保存文件对话(SaveFileDialog) 2、字体对话框(FontDialog) 3、颜色对话框(ColorDialog) 4、打印预浏对话框(PrintPreviewDialog) 5、页面设置(PrintDialog) 6、打印对话框(PrintDialog) 文件对话框(FileDialog)   一、打开文件对话框(OpenFileDialog)   1、 OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 RestoreDirectory 控制对话框在关闭之前是否恢复当前目录 FileName 第一个在对话框中显示的文件或最后一个选取的文件 Title 将显示在对话框标题栏中的字符 AddExtension 是否自动添加默认扩展名 CheckPathExists 在对话框返回之前,检查指定路径是否存在 DefaultExt 默认扩展名 DereferenceLinks 在从对话框返回前是否取消引用快捷方式 ShowHelp 启用"帮助"按钮 ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列   2、 OpenFileDialog控件有以下常用事件 FileOk 当用户点击"打开"或"保存"按钮时要处理的事件 HelpRequest 当用户点击"帮助"按钮时要处理的事件   3、OpenFileDialog的效果如下:   可以用以下代码来实现上面这个对话框: private void openFileDialogBTN_Click(o b j e c t sender, System.EventArgs e){ OpenFileDialog openFileDialog=new OpenFileDialog(); openFileDialog.InitialDirectory="c:\\";//注意这里写路径时要用c:\\而不是c:\ openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*"; openFileDialog.RestoreDirectory=true; openFileDialog.FilterIndex=1; if (openFileDialog.ShowDialog()==DialogResult.OK) { fName=openFileDialog.FileName; File fileOpen=new File(fName); isFileHaveName=true; richTextBox1.Text=fileOpen.ReadFile(); richTextBox1.AppendText(""); } } 其中有用到了File()这个类,是我在程序用来执行文件操作,自己写的,在最后附了这个类的源码。有兴趣的网友可以自己分析。 二、保存文件对话框(SaveFileDialog)   保存文件对话框控件有两种情况,一就是保存,二就是另存为,保存很简单,就是在文件已经打开的情况下的,再把文件写一篇,在这里我们主要讲另存为 的情况(SaveAs)。   1,SaveFileDialog控件的属性 Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*" FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 RestoreDirectory 控制对话框在关闭之前是否恢复当前目录 AddExtension 是否自动添加默认扩展名 CheckFileExists CheckPathExists 在对话框返回之前,检查指定路径是否存在 Container 控制在将要创建文件时,是否提示用户。只有在ValidateNames为真值时,才适用。 DefaultExt 缺省扩展名 DereferenceLinks 在从对话框返回前是否取消引用快捷方式 FileName 第一个在对话框中显示的文件或最后一个选取的文件 InitialDirector 对话框的初始目录 OverwritePrompt 控制在将要在改写现在文件时是否提示用户,只有在ValidateNames为真值时,才适用 ShowHelp 启用"帮助"按钮 Title 将显示在对话框标题栏中的字符 ValidateNames 控制对话框检查文件名中是否不含有无效的字符或序列   2、SaveFileDialog事件如下: FileOk 当用户点击"打开"或"保存"按钮时要处理的事件 HelpRequest 当用户点击"帮助"按钮时要处理的事件   3、SaveFileDialog的效果如下:   4、用下例代码可以实现 private void saveAsDialogBTN_Click(o b j e c t sender, System.EventArgs e) { SaveFileDialog saveFileDialog=new SaveFileDialog(); saveFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*"; saveFileDialog.FilterIndex=2; saveFileDialog.RestoreDirectory=true; if(saveFileDialog.ShowDialog()==DialogResult.OK) { if(saveFileDialog.ShowDialog()==DialogResult.OK) { fName=saveFileDialog.FileName; File fSaveAs=new File(fName); isFileHaveName=true; file://保存的文件有名字 fSaveAs.WriteFile(richTextBox1.Text); } } }   其实这些都可以在VS.NET的IDE环境中直接完成,为了说明问题,我还是一条条列也来了。当中用到了一个File的类库,下面是源程序:   File.cs using System; using System.IO; using System.Windows.Forms; using System.Text; namespace dialog { /**//// /// Summary description for File. /// public class File { string fileName; public File(string fileName) { this.fileName=fileName; } public string ReadFile() { try { StreamReader sr=new StreamReader(fileName,Encoding.Default); string result=sr.ReadToEnd(); sr.Close(); return result; } catch(Exception e){MessageBox.Show(e.Message);} return null; } public void WriteFile(string str) { try { StreamWriter sw=new StreamWriter(fileName,false,Encoding.Default); sw.Write(str); sw.Close(); } catch(Exception e){MessageBox.Show(e.Message,"保存文件出错!");} } } } 字体对话框(FontDialog)   在文字处理中,我们常用到字体,现在我们来做一个最常见的字体对话框。   一、 字体对话框(FontDialog)常用属性 ShowColor 控制是否显示颜色选项 AllowScriptChange 是否显示字体的字符集 Font 在对话框显示的字体 AllowVerticalFonts 是否可选择垂直字体 Color 在对话框中选择的颜色 FontMustExist 当字体不存在时是否显示错误 MaxSize 可选择的最大字号 MinSize 可选择的最小字号 ScriptsOnly 显示排除OEM和Symbol字体 ShowApply 是否显示"应用"按钮 ShowEffects 是否显示下划线、删除线、字体颜色选项 ShowHelp 是否显示"帮助"按钮   二、 字体对话框(FontDialog)的事件 Apply 当点击"应用"按钮时要处理的事件 HelpRequest 当点击"帮助"按钮时要处理的事件   三、 字体对话框(FontDialog)的效果   四、 实现代码 private void fontDialogBTN_Click(o b j e c t sender, System.EventArgs e) { FontDialog fontDialog=new FontDialog(); fontDialog.Color=richTextBox1.ForeColor; fontDialog.AllowScriptChange=true; fontDialog.ShowColor=true; if(fontDialog.ShowDialog()!=DialogResult.Cancel) { richTextBox1.SelectionFont=fontDialog.Font;//将当前选定的文字改变字体 } } 上面代码将选定的文本设置为当前FontDialog对话框中的字体。   颜色对话框(ColorDialog)   颜色拾取框也是我们常见的对话框之一,下面我们来看看在C#中是如何操作颜色对话框的呢?   一、 颜色对话框(ColorDialog)的常见属性 AllowFullOpen 禁止和启用"自定义颜色"按钮 FullOpen 是否最先显示对话框的"自定义颜色"部份 ShowHelp 是否显示"帮助"按钮 Color 在对话框中显示的颜色 AnyColor 显示可选择任何颜色 CustomColors 是否显示自定义颜色 SolidColorOnly 是否只能选择纯色   二、 颜色对话框(ColorDialog)的效果如下:   三、 实现代码见下: private void colorDialogBTN_Click(o b j e c t sender, System.EventArgs e) { ColorDialog colorDialog=new ColorDialog(); colorDialog.AllowFullOpen=true; colorDialog.FullOpen=true; colorDialog.ShowHelp=true; colorDialog.Color=Color.Black;//初始化当前文本框中的字体颜色,当用户在ColorDialog对话框中点击"取消"按钮 file://恢复原来的值 colorDialog.ShowDialog(); richTextBox1.SelectionColor=colorDialog.Color; }   实现颜色对话框(ColorDialog)很容易吧,其实不只是颜色对话框,C#也是很容易的,只要用心去学,都容易的。讲完了颜色对话框(ColorDialog),我们 来讲打印和页面设置. 页面设置(PageSetupDialog)   其实页面设置(PageSetupDialog)没有太多的讲,既然讲到这里,我还是把PageSetupDialog中常用的属性列出来吧   一、页面设置(PageSetupDialog)常见属性   AllowMargins 设置是否可以对边距的编辑 AllowOrientation 是否可以使用"方向"单选框 AllowPaper 设置是否可以对纸张大小的编辑 AllowPrinter 设置是否可以使用"打印机"按钮 Document 获取打印机设置的PrintDocument MinMargins 允许用户选择的最小边距   二、面设置(PageSetupDialog)的效果如下   就这么简单啦,我们看看下面的吧,还有更重磅的东东呢?关于打印的。   打印预浏及打印   打印是我们在windows编程中常要用到的功能,在以前都是很麻烦工作,但在Microsoft .net Framework中打印是以组件提供给我们使用,不过还是点麻烦的,所以就专门写出来,供大家参改。   一, 在.net环境中,说到打印,就不能不说PrintDocumet这个类,PrintDocument属于System.Drawing.Printing这个名字空间,PrintDocument这个类是 实现打印的核心代码。   如果要实现打印,就必需首先构造PrintDocument对象添加打印事件, printDocument.PrintPage+=new PrintPageEventHandler(this.printDocument_PrintPage) 打印其实也是调用Graphics类的方法进行画图,下面这代码是根据MSDN上提供的例程改写的。MSDN打印例程地址:   http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDrawingPrintingPrintDocumentClassTopic.asp ,有兴趣的网友可以参改一下。   下面是我改写的printDocument_PrintPage: private void printDocument_PrintPage(o b j e c t sender, System.Drawing.Printing.PrintPageEventArgs e) { float linesPerPage=0;//页面的行号 float yPos=0;//打印字符串的纵向位置 int count=0;//行计数器 float leftMargin =e.MarginBounds.Left;//左边距 float topMargin=e.MarginBounds.Top;//上边距 string line=null;//行字符串 Color clr=richTextBox1.SelectionColor;//当前的打印颜色,在我这个程序没有实现不同颜色打印 SolidBrush b =new SolidBrush(clr);//刷子 fnt=richTextBox1.SelectionFont;//当前的打印字体 linesPerPage=e.MarginBounds.Height/fnt.GetHeight(e.Graphics);//每页可打印的行数 file://逐行循行打印一页 while(count { yPos=topMargin+(count*fnt.GetHeight(e.Graphics)); e.Graphics.DrawString(line,fnt,b,leftMargin,yPos,new StringFormat()); count++; } file://如果该页打印完成而line不为空说明还有没完成的页面,发出下一次的打印事件, file://在下一次的打印中lineReader会自动读取上次没有打印完的内容。lineReader可以记录当前读取的位置 if(line!=null) e.HasMorePages=true; else e.HasMorePages=false; }   在这里可以完成整个打印任务。把printDocument_PrintPage构造好后,就可以打印和打印预浏。   二、打印预浏对话框(PrintPreviewDialog)   打印预浏控件是用来显示一个打印文档在打印后的效果。在打印预浏对话框中包含有,打印、缩放、单页或多页、关闭等按钮。对话框如下:   打印预浏对话框没有太多的属性,最后通过ShowDialog()调用。上面的实现代码如下: private void printPreviewBTN_Click(o b j e c t sender, System.EventArgs e) { lineReader = new StringReader(richTextBox1.Text); try { PrintPreviewDialog printPreviewDialog1=new PrintPreviewDialog(); printPreviewDialog1.Document=printDocument; printPreviewDialog1.FormBorderStyle=FormBorderStyle.Fixed3D; printPreviewDialog1.ShowDialog(this); } catch(Exception excep) { MessageBox.Show(excep.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }   很简单的,只要你把PrintDocument_PrintPage()写好了,这里就很容易了。   三、打印对话框(PrintDialog)   1、打印对话框(PrintDialog)只要有以下属性: AllowPrintToFile 禁止或使用"打印到文件"复选框 AllowSelection 禁止或使用"选定内容"单选框 AllowSomePages 禁止或使用"页"单选按钮 Document 从中获取打印机设置的PrintDocument PrintToFile 打印到文件"复选框是否选中 ShowHelp 控制是否显示"帮助"按钮 ShowNetWork 控制是否显示"网络"按钮   2、效果如下:   3、用如下代码来实现: private void printDialogBTN_Click(o b j e c t sender, System.EventArgs e) { PrintDialog printDialog=new PrintDialog(); printDialog.Document=printDocument; if(printDialog.ShowDialog()!=DialogResult.Cancel) { try { printDocument.Print(); } catch(Exception ex) { MessageBox.Show(ex.Message); } } } 总结   在我们的教程,共讲述了文件对话框(FileDialog)、字体对话框(FontDialog)、,颜色对话框(ColorDialog)、打印预浏对话框(PrintPreviewDialog)、页面 设置(PrintDialog)、打印对话框(PrintDialog),这几个对话框,其中文件对话框(FileDialog)又有:打开文件对话框(OpenFileDialog)、保存文件对话(SaveFi leDialog)这两个对话框。有了上述基础,大家可以很容易的写出一个简单的记事本。

转载于:https://www.cnblogs.com/yeats5216/archive/2008/08/15/1268943.html

2011-04-13 11:05:00 xwdpepsi 阅读数 1856
  • C#程序设计语言

    为什么要学习C#?C#是微软的王牌语言,拥有接近20年的历史和广泛的应用。目前国内对C#的书籍和视频相对较少,但C#和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,C#的开源,.NET Core社区的蓬勃发展,以及.NET开发岗位需求的不断增加。C#用途广泛,容易上手。可以说,如果你熟悉C#语言,你将不愁找不到好的工作。 本课程详细的讲述了一名C#初级程序员需要掌握的各项知识,其中基础和面向对象是重中之重。课程主要特点: 1. 紧跟C#发展,使用**语言和开发环境版本。 2. 结合应用案例,力求做到深入浅出,明白易懂 通过本课的学习,使学生掌握C#语言的语法知识,理解和掌握面向对象程序设计的思想和方法,能熟练使用Visual Studio集成开发环境编写、调试和测试控制台应用软件、Winform应用软件;运用ADO.NET开发数据库应用程序,具有面向对象程序设计、分析和调试能力。 希望本套课程在你学习C#的过程中,可以对你有所帮助。

    861 人正在学习 去看看 张晨光

 本例是一个管理联系人信息的小程序,程序有两个窗体,一个主窗体,在listview控件中显示联系人信息列表,一个对话框窗体,用来显示和修改某个联系人的信息。通过主窗体的菜单命令,可以打开对话框,并把主窗体listview中的当前选中的联系人数据传递给对话框,在对话框中可以对联系人信息进行修改,修改完毕后,单击确定按钮,主窗体根据用户在对话框中的输入更新listview空间

1.创建一个windows应用程序

2.在项目中添加联系人类。如下

3.添加一个窗体对话框

4.在contactDialog窗体的load时间中,对窗体进行初始化。代码如下
5.在contactDialog类中,添加一个Contact类型的属性,用来与外界交换数据。代码如下:
6.在主船体中添加listview空间,以及ContextMenustrip空间,添加菜单项:添加,删除,修改。并把listview的ContextMenuStrip设置为此菜单。此时,主窗体就可以用Contact类了。
7.在主窗体的load事件添加代码:
8.主窗体中的添加,删除,更新按钮中添加相应代码即可
这样就可以达到c#中对话框中相互交换数据了
2014-11-05 15:42:29 mj511099781 阅读数 1553
  • C#程序设计语言

    为什么要学习C#?C#是微软的王牌语言,拥有接近20年的历史和广泛的应用。目前国内对C#的书籍和视频相对较少,但C#和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,C#的开源,.NET Core社区的蓬勃发展,以及.NET开发岗位需求的不断增加。C#用途广泛,容易上手。可以说,如果你熟悉C#语言,你将不愁找不到好的工作。 本课程详细的讲述了一名C#初级程序员需要掌握的各项知识,其中基础和面向对象是重中之重。课程主要特点: 1. 紧跟C#发展,使用**语言和开发环境版本。 2. 结合应用案例,力求做到深入浅出,明白易懂 通过本课的学习,使学生掌握C#语言的语法知识,理解和掌握面向对象程序设计的思想和方法,能熟练使用Visual Studio集成开发环境编写、调试和测试控制台应用软件、Winform应用软件;运用ADO.NET开发数据库应用程序,具有面向对象程序设计、分析和调试能力。 希望本套课程在你学习C#的过程中,可以对你有所帮助。

    861 人正在学习 去看看 张晨光

关键在于设置对话框内部控件的 Anchor 属性。 Anchor:当控件锚定到某个边缘时,与指定边缘最接近的控件边缘与指定边缘之间的距离将保持不变。


如果希望宽度改变,那么设置为Left,Right

如果希望高度改变,那么设置为Top,Bottom

如果希望宽高都改变,那么设置 为 Top, Bottom, Left, Right。

如果希望大小不变,一直在左下角,那么设置为Bottom,Left就可以了。其他几个地方类似。


可以的话设置对话框的FormBorderStyle为Sizable。

如果不希望对话框太小后控件挤在一起,那么设置对话框的MinimumSize就可以了。最小只能这么小。


提示:如果希望设置对话框的返回值,那么和MFC程序不同的是,这里是在程序里面进行设置的,

设置this.DialogResult = DialogResult.OK;// 也可以设置其他值。

这样对话框ShowDialog()的返回值就是你设置的那个值了。

2011-09-28 10:35:21 hist009 阅读数 1810
  • C#程序设计语言

    为什么要学习C#?C#是微软的王牌语言,拥有接近20年的历史和广泛的应用。目前国内对C#的书籍和视频相对较少,但C#和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,C#的开源,.NET Core社区的蓬勃发展,以及.NET开发岗位需求的不断增加。C#用途广泛,容易上手。可以说,如果你熟悉C#语言,你将不愁找不到好的工作。 本课程详细的讲述了一名C#初级程序员需要掌握的各项知识,其中基础和面向对象是重中之重。课程主要特点: 1. 紧跟C#发展,使用**语言和开发环境版本。 2. 结合应用案例,力求做到深入浅出,明白易懂 通过本课的学习,使学生掌握C#语言的语法知识,理解和掌握面向对象程序设计的思想和方法,能熟练使用Visual Studio集成开发环境编写、调试和测试控制台应用软件、Winform应用软件;运用ADO.NET开发数据库应用程序,具有面向对象程序设计、分析和调试能力。 希望本套课程在你学习C#的过程中,可以对你有所帮助。

    861 人正在学习 去看看 张晨光
namespace System.Windows.Forms
{
    // Summary:
    //     Specifies identifiers to indicate the return value of a dialog box.
    [ComVisible(true)]
    public enum DialogResult
    {
        // Summary:
        //     Nothing is returned from the dialog box. This means that the modal dialog
        //     continues running.
        None = 0,
        //
        // Summary:
        //     The dialog box return value is OK (usually sent from a button labeled OK).
        OK = 1,
        //
        // Summary:
        //     The dialog box return value is Cancel (usually sent from a button labeled
        //     Cancel).
        Cancel = 2,
        //
        // Summary:
        //     The dialog box return value is Abort (usually sent from a button labeled
        //     Abort).
        Abort = 3,
        //
        // Summary:
        //     The dialog box return value is Retry (usually sent from a button labeled
        //     Retry).
        Retry = 4,
        //
        // Summary:
        //     The dialog box return value is Ignore (usually sent from a button labeled
        //     Ignore).
        Ignore = 5,
        //
        // Summary:
        //     The dialog box return value is Yes (usually sent from a button labeled Yes).
        Yes = 6,
        //
        // Summary:
        //     The dialog box return value is No (usually sent from a button labeled No).
        No = 7,
    }
}

C#之消息对话框

阅读数 3394

没有更多推荐了,返回首页