WinForm 布局,容器、打印和对话框控件

  今天,我主要学习了容器控件、打印控件、对话框控件。

  在正式进行今天的内容之前,首先补充了布局的两个属性:Anchor:锁定位置,Dock:填充位置,一般与容器控件配合使用。

  之后,我学习了第一部分内容:容器控件。

  Panel:类似于DIV,可以独立布局,还可以让其它控件及容器在它的内部再次布局。

  FlowLayoutPanel:流式布局容器,内容会默认从左向右排列,如果宽度不够了,那么自动换行。

  GroupBox:拥有Panel全部属性,比Panel多了个标题和边框样式。

  TabControl:选项卡容器。

  SplitContainer:二分区容器。

  TableLayoutPanel:表格容器。

  第二部分:打印控件。

  PrintDocument:要打印的对象。

  PageSetupDialog:打印设置对话框。

  PrintPreviewControl:打印预览控件。
  PrintPreviewDialog:打印预览对话框。

  PrintDialog:打印对话框。

  DialogResult dr = printDialog1.ShowDialog();

  if (dr == DialogResult.OK)//如果用户点击的是确定按钮,那么执行打印
  {
    printDocument1.Print();
  }

  DialogResult是一个可被实例化的枚举类,用来接收用户在对话框中的操作

    #region 打印
        private void 打印设置ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            pageSetupDialog1.Document = printDocument1;
            pageSetupDialog1.ShowDialog();
        }

        #region 打印对象
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Font f=new Font("黑体",18);
            SolidBrush b=new SolidBrush(Color.Black);

            e.Graphics.DrawString(richTextBox1.Text, f, b, 10, 10);
        }
        #endregion

        private void 打印预览VToolStripMenuItem_Click(object sender, EventArgs e)
        {
            printPreviewDialog1.Document = printDocument1;
            printPreviewDialog1.ShowDialog();
        }

        private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)
        {
            printPreviewDialog1.Document = printDocument1;
            DialogResult dr = printDialog1.ShowDialog();
            if(dr==DialogResult.OK)//如果用户点击确定按钮,执行打印
            {
                printDocument1.Print();
            }
        }
        #endregion

  第三部分:对话框控件。

  colorDialog - 颜色选择对话框。

  folderBrowserDialog - 文件路径选择对话框。

  fontDialog - 字体选择对话框。

  openFileDialog - 打开文件对话框。

  openFileDialog.FileName="";                                                            //弹出的“打开对话框”默认打开的文件名。(绝对路径显示)
  openFileDialog.Filter = "文本文件.txt|*.txt|视频文件|*.avi|所有文件|*.*";//选择打开的“打开对话框”中打开的文件类型。

  saveFileDialog - 保存文件对话框。
  如果我已经保存过了,那么在次保存不需要弹出对话框,而是直接执行保存就可以。

  流:IO
  StreamReader - 读取流 sr.ReadToEnd();
  StreamWriter - 输出流 sw.Write(要输出的内容);

     private void 打开OToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.FileName = "";
            openFileDialog1.Filter = "文本文件.txt|*.txt|视频文件|*.avi|所有文件|*.*";
            DialogResult dr = openFileDialog1.ShowDialog();

            if (dr == DialogResult.OK)
            {

                //toolStripStatusLabel1.Text = openFileDialog1.FileName;
                StreamReader sr = new StreamReader(openFileDialog1.FileName, System.Text.Encoding.Default);
                textBox1.Text = sr.ReadToEnd();
                sr.Close();
            }

        }

        string path = "";

        private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (path == "")
            {
                saveFileDialog1.FileName = "新建文本文件.txt";

                saveFileDialog1.Filter = "文本文件.txt|*.txt|所有文件|*.*";
                DialogResult dr = saveFileDialog1.ShowDialog();

                if (dr == DialogResult.OK)
                {
                    //toolStripStatusLabel1.Text = saveFileDialog1.FileName;
                    StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
                    sw.Write(textBox1.Text);
                    sw.Close();
                    path = saveFileDialog1.FileName;
                }
            }
            else
            {
                StreamWriter sw = new StreamWriter(path);
                sw.Write(textBox1.Text);
                sw.Close();
            }
        }
原文地址:https://www.cnblogs.com/hongsen3/p/5904190.html