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. 【原创】怎样才能写出优雅的 Java 代码?这篇文章告诉你答案!

    本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者 ...

  2. JS旋转和css旋转

    js旋转 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <styl ...

  3. rsync的笔记整理

    Rsyncd数据同步工具 1.什么是Rsyncs? Rsync(Remote synchronization)是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsy ...

  4. Spring Boot2 系列教程(二十)Spring Boot 整合JdbcTemplate 多数据源

    多数据源配置也算是一个常见的开发需求,Spring 和 SpringBoot 中,对此都有相应的解决方案,不过一般来说,如果有多数据源的需求,我还是建议首选分布式数据库中间件 MyCat 去解决相关问 ...

  5. 智学网电脑端查分小工具 已更新V2.2

    特别鸣谢这段代码的源作者,我的大佬同学\(MetalkgLZH\).由于我没有做什么工作,这篇随笔基本不含相关技术细节. 再次强调,这个程序的主要部分由\(MetalkgLZH\)完成.技术细节与源码 ...

  6. Ubuntu13.10编译android源码中遇到的问题

    1. jdk的版本不对 我开始安装的是最新的jdk7,但是编译时会出现jdk的版本

  7. js的ajax请求

    1 js原生get请求 <script> window.onload = function(){ var oBtn = document.getElementById('btn'); oB ...

  8. 前端Vue中常用rules校验规则

    前提 在 vue开发中,难免遇到各种表单校验,这里整理了网络上和自己平时高频率用到的一些校验方法.如果错误欢迎指出,后期不断补充更新. 1.是否合法IP地址 export function valid ...

  9. 读《MySQL必知必会》我学到了什么?

    前言 最近在写项目的时候发现自己的SQL基本功有些薄弱,遂上知乎查询MYSQL关键字,期望得到某些高赞答案的指点,于是乎发现了 https://www.zhihu.com/question/34840 ...

  10. PHP 在 Laravel 中动态隐藏 API 字段

    我最近在 Laravel Brasil 社区看到一个问题,结果比看起来更有趣.想象一下你有一个 UsersResource 用下面的实现: <?php namespace App\Http\Re ...