• 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();
                }
            }
  • 相关阅读:
    Swift语言快速入门
    软件测试工程师成长之路:掌握软件测试九大技术主题
    Swift语言快速入门
    python学习笔记之——python模块
    python学习笔记之——python函数
    python学习笔记之—— calendar(日历)模块
    python的学习笔记之——time模块常用内置函数
    python学习笔记之——range()函数
    robotframework的学习笔记(十六)----robotframework标准库String
    robotframework的学习笔记(十五)----robotframework标准库Collections
  • 原文地址:https://www.cnblogs.com/hongsen3/p/5904190.html
Copyright © 2020-2023  润新知