winform对话框控件

时间:2023-11-27 16:37:32

(1)ColorDialog     用户自定义颜色控件

点击颜色按键,改变richTextBox1中字体的颜色

private void button1_Click(object sender, EventArgs e)
{
//DialogResult:标志指示对话框的返回值
DialogResult dr= colorDialog1.ShowDialog();
if(dr==DialogResult.OK)
{
richTextBox1.ForeColor = colorDialog1.Color;
}
}

winform对话框控件

(2)FontDialog    本地计算机安装的字体中选择字体

属性:ShowApply    是否显示应用按钮;  ShowColor   是否显示颜色;   ShowEffects    是否显示下划线,删除线

点击字体按键,显示上述三个属性(三个属性都选为TRUE),改变字体样式及颜色

 private void button2_Click(object sender, EventArgs e)
{
DialogResult dr = fontDialog1.ShowDialog();
if(dr==DialogResult.OK)
{
richTextBox1.Font = fontDialog1.Font;
richTextBox1.ForeColor = fontDialog1.Color;
}
}

winform对话框控件

(3)FolderBrowserDialog1   显示一个对话框,提示用户选择文件夹

点击button3按键,在richTextBox1显示所选文件夹的路径(绝对路径)

private void button3_Click(object sender, EventArgs e)
{
DialogResult dr = folderBrowserDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
//SelectedPath:获取或设置用户选定的路径
richTextBox1.Text = folderBrowserDialog1.SelectedPath;
}
}

winform对话框控件

(5)OpenFileDialog    打开文件

打开保存文档需要用流(相当于管道)来获取文档中的数据,需引用using System.IO;

点击打开按钮,lable1获取文档路径,richTextBox1显示所选文档的内容

 private void button4_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "文本文件|*.txt|word文档|*.doc";//设置要打开文件的类型
DialogResult dr = openFileDialog1.ShowDialog();
if(dr==DialogResult.OK)
{
//获取路径
label1.Text = openFileDialog1.FileName;
//从流中读取字符 //通过路径选择要读取的文件,获取系统的默认编码方式
StreamReader sr = new StreamReader(openFileDialog1.FileName,System.Text.Encoding.Default);
richTextBox1.Text = sr.ReadToEnd();//从头读到尾
}
}

(6)SaveFileDialog    保存文件

点击打开按钮,lable1获取文档路径,richTextBox1为所要保存的文件

        private void button5_Click(object sender, EventArgs e)
{
saveFileDialog1.Filter = "文本文件|*.txt|word文档|*.doc";//设置要保存文件的类型
saveFileDialog1.FileName = "新建文本文档!!";//命名栏显示的默认文件名
DialogResult dr = saveFileDialog1.ShowDialog();
if(dr==DialogResult.OK)
{
//获取路径
label1.Text = saveFileDialog1.FileName;
//从流中写入字符 //通过路径选择要写入的文件
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
sw.Write(richTextBox1.Text);
sw.Flush();//将缓冲数据写入流
}
}