1.更换窗体图标

方法:单击窗体,更改icon属性。

2.调整窗体打开时默认位置

方法:单击窗体,更改StartPotion属性。

3.修改窗体大小

方法:单击窗体,更改Size属性。

4.设置窗体的背景图片

方法:单击窗体,更改BackgroundImage属性。

5.打开新窗体

首先新建一个窗体 然后

Form2 frm2 = new Form2(); frm2.Show(); this.Hide();

6.单击窗体事件Click

首先在窗体属性事件中双击Click

MessageBox.Show("已经单击了窗体");//弹出提示框

 7.窗体加载事件Load

例如:窗体在打开时,弹出提示框,询问是否查看窗体

if (MessageBox.Show("是否查看窗体?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
{
}

8.窗口关闭事件FormClosing

 DialogResult dr = MessageBox.Show("是否确定要关闭窗体", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);//创建了一个对话框
if (dr == DialogResult.Yes)
{
e.Cancel = false;//如果单击“是”,则关闭窗体
}
else //否则
{
e.Cancel = true;//如不执行操作
}

2019-07-24  22:01:12   write by xdd


9.MDI窗体(多文档界面)

下面将在父窗体中添加一个MenuStrip菜单,增加四个选项【打开子窗体,水平排列,垂直排列,层叠】

另注意Show方法和ShowDialog的区别是后者打开后,其它窗体会冻结。

 namespace MDI窗体练习
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void 加载子窗体ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form frm2 = new Form2();
frm2.MdiParent = this;
frm2.Show();
Form frm3 = new Form3();
frm3.MdiParent = this;
frm3.Show();
Form frm4 = new Form4();
frm4.MdiParent = this;
frm4.Show(); } private void 水平平铺ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileHorizontal);
} private void 垂直平铺ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileVertical);
} private void 层叠排列ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.Cascade);
}
}
}

  <窗体篇结束>


write by xdd  2019-07-25  23:49:37


10.控件介绍

10.1文本框Textbox

10.1.1 设置文本框Textbox的readonly属性使其为只读而不能编辑。

10.1.2 设置文本框的PasswordChar属性使其向输入密码一样以星号代替(在其属性框里输入*即可)

10.1.3 设置文本框的Multiline属性使其能输入多行数据

10.1.4 当文本框的内容被更改,会触发文本框的TextChanged事件

10.1.5 控件的名字写法:

控件.Text  如 label1.Text=textBox1.Text

10.2复选框CheckBox

10.2.1复选框CheckBox的CheckState属性返回值有Checked与Unchecked

10.2.2当复选框的状态变化时,会触发其CheckStateChanged事件。

一个选课信息的案例

        private void button3_Click(object sender, EventArgs e)
{
string strtop = "您选的课程如下:";
foreach(Control ctrl in this.Controls)//遍历窗体中的所有控件
{
if(ctrl.GetType().Name=="CheckBox") //判断是否为复选框 {
CheckBox cbox=(CheckBox)ctrl;
if (cbox.Checked)
{
strtop=strtop+"\n"+cbox.Text;
}//内层if的结束
} //外层if的结束 }//Foreach的结束
MessageBox.Show(strtop);
}

10.3 有格式文本框RichTextBox

10.3.1 调整ScrollBars属性以调整是否显示滚动条

10.3.2 利用RichTextBox制作网址超链接

10.4下拉组合框ComboBox

10.5 列表控件ListBox

10.5.1 向ListBox控件中添加或移除项

listBox1.Items.Add("语文");//添加项目
listBox1.Items.Remove("英语");//移除项目

10.5.2 设置SelectionMode为MultiExended可使用shift、ctrl、方向键实现多选

10.6  分组框控件GroupBox 

10.7 树(分支)控件TreeView

10.7.1 在控件的nodes属性中可以直接建立分支

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
label10.Text = "我选择" + e.Node.Text;
}

10.7.2 给分支加图片方法:

imageList1.Images.Add(Image.FromFile("1.png"));
treeView1.ImageLise=imageList1;
imageList1.ImageSize=new Size(,);

10.8 图片存储组件 ImageList

10.9 计时器Timer组件

10.10   <控件篇结束>


write by xdd  2019-07-27  00:47:19


11 菜单控件MenuStrip

12 工具栏控件ToolStrip

13 状态栏控件StatusStrip

14 对话框

14.1 消息框

MessageBox.Show(string text,string caption,MessageBoxButtons buttons,MessageBoxIcon icon);//内容,标题,按钮类型,图标(警告,问号,错误等)
MessageBox.Show("确定退出吗","警告",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);

14.2 打开文件对话框OpenFileDialog

openFileDialog1.ShowDialog();

14.3 打开文件夹对话框FolderBrowserDialog

14.4 另存为对话框 SaveFileDiolag

  <菜单、工具栏、对话框>



注:参考并推荐书籍

  • 《零基础学C#》(明日科技编著)
  • Windows Forms 2.0程序设计(原文为英文版:Windows Forms 2.0 Programming)

C#Windows Forms窗体、按钮-xdd的更多相关文章

  1. Windows Forms 窗体篇

    1,显示窗体 非模式: Form form = new Form(); form.Show(); 模式: Form form = new Form(); form.Show(); 2,拥有者窗体与附属 ...

  2. C#Windows Forms (Demo.SYS)--xdd

    private void Show_background_picture()//随机更换背景 { ";//默认值 Random ran = new Random(); , );//返回一个1 ...

  3. Windows Forms (一)

    导读 1.什么是 Windows Forms 2.需要学Windows Forms 么? 3.如何手写一个简单的Windows Forms 程序 4.对上面程序的说明 5.Form 类与Control ...

  4. C#Windows Forms 计算器--xdd

    一.计算器 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...

  5. DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解

    关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  6. System.Windows.Forms.Timer

    一.主要属性.方法和事件 Windows 窗体 Timer 是定期引发事件的组件.该组件是为 Windows 窗体环境设计的. 时间间隔的长度由 Interval 属性定义,其值以毫秒为单位.若启用了 ...

  7. System.Windows.Forms.Control : Component, IOleControl, IOleObject, IOleInPlaceObject, IOleInPlaceActiveObject....

    #region 程序集 System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ...

  8. Windows Forms编程实战学习:第三章 菜单

    第三章 菜单 1,控件和容器 所有的Windows Forms控件都是从System.Windows.Forms.Control类继承的,相关类的层次结构如下图所示: MarshalByRefObje ...

  9. Windows Forms编程实战学习:第一章 初识Windows Forms

    初识Windows Forms 1,用C#编程 using System.Windows.Forms;   [assembly: System.Reflection.AssemblyVersion(& ...

随机推荐

  1. 我是如何在一周内拿到4份offer的?

    前言 大概一个月没写博客了吧,这段时间事情比较多(家里有事,请了一段时间假,正好利用剩余几天时间面了几次试),也没抽出来时间写博客,还好所有的事情已经处理完了,今天闲来无事就整理一下这几次面试过程中遇 ...

  2. Python基础入门总结

    Python基础入门教学 基础中的基础 列表.元组(tuple).字典.字符串 变量和引用 函数 python视频教程下载 基础中的基础 解释型语言和编译型语言差距: Python概述 解释器执行原理 ...

  3. 阿里规范不建议多表Join,可这SQL要怎么写?

    阿里开发手册的描述,禁止多表join: 手册上写着[强制],相信很多同学项目里面的代码都不满足这个要求. 但是关键问题是:不用join,这SQL究竟要怎么写?! 分解关联查询 即对每个要关联的表进行单 ...

  4. C语言I—2019秋作业01

    1您对软件工程专业或计算机科学与技术专业了解是什么? 工程专业将成为一个新的热门专业.软件工程专业以计算机科学与技术学科为基础,突出软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上 ...

  5. VS环境下基于C++的单链表实现

    ------------恢复内容开始------------ #include<iostream> using namespace::std; typedef int ElemType; ...

  6. netty源码解析(4.0)-28 ByteBuf内存池:PooledByteBufAllocator-把一切组装起来

    PooledByteBufAllocator负责初始化PoolArena(PA)和PoolThreadCache(PTC).它提供了一系列的接口,用来创建使用堆内存或直接内存的PooledByteBu ...

  7. 使用Typescript重构axios(二十九)——添加baseURL

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  8. 如何在Vue项目中使用Typescript

    0.前言 本快速入门指南将会教你如何在Vue项目中使用TypeScript进行开发.本指南非常灵活,它可以将TypeScript集成到现有的Vue项目中任何一个阶段. 1.初始化项目 首先,创建一个新 ...

  9. python入门递归之阶乘

    def recurursion(n): if n == 1: return 1 else: return n * recurursion(n-1) number = int(input("请 ...

  10. dhcpv6+radvd服务器搭建

    1.isc-dhcp-server install sudo apt update sudo apt-get install isc-dhcp-server 2.设置dhcp 创建/etc/dhcp/ ...