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. Leetcode Tags(8)Binary Search

    一.475. Heaters 输入: [1,2,3],[2] 输出: 1 解释: 仅在位置2上有一个供暖器.如果我们将加热半径设为1,那么所有房屋就都能得到供暖. 输入: [1,2,3,4],[1,4 ...

  2. 存储路径与文件目录操作ZT

    转自:https://www.cnblogs.com/zrr-notes/p/5953445.html (一)基本存储位置 我们的app在手机中存放的路径是:/var/mobile/Applicati ...

  3. Unity C#数据持久化与xml

    最近工作需要用到数据持久化,所以在此分享一下,通过查阅资料,数据持久化大体都是通过xml或者json来进行的.unity为我们自定义了数据持久化方法,但是比较局限,还需要自己来完成数据持久化方法. ( ...

  4. 三、进程和线程、协程在python中的使用

    三.进程和线程.协程在python中的使用 1.多进程一般使用multiprocessing库,来利用多核CPU,主要是用在CPU密集型的程序上,当然生产者消费者这种也可以使用.多进程的优势就是一个子 ...

  5. URL百分号编码

    百分号编码是什么! 百分号编码(Percent-Encoding)也被称为 URL 编码,是一种编码机制.该机制主要应用于 URI 编码中,URI 包含 URL 和 URN,所以它们也同样适用.除此之 ...

  6. Spring之Zuul初步使用(十)

    一.zuul是什么 zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架. ...

  7. spring boot 面试题详解

    1.什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的T ...

  8. 爬虫之scrapy简介

    原始的爬虫流程:效率低.同步.阻塞 scrapy执行流程:效率高.异步.非阻塞 scrapy的概念 scrapy是一个爬虫框架 开发速度快 稳定性高 性能优越 scrapy的流程 1. 爬虫模块(Sp ...

  9. Go 基础学习笔记 (5)| 数据类型说明与使用

    在 Go 编程语言中,数据类型用于声明函数和变量. 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存. Go 语言按类别有以下几种 ...

  10. MyBatis --- 映射关系【一对一、一对多、多对多】,懒加载机制

    映射(多.一)对一的关联关系 1)若只想得到关联对象的id属性,不用关联数据表 2)若希望得到关联对象的其他属性,要关联其数据表 举例: 员工与部门的映射关系为:多对一 1.创建表 员工表 确定其外键 ...