三中打开窗口窗体状态:

1   messagebox.show 类型  特点: 从窗口form 1里打开另一个窗体form2,form2不关闭的情况下form1 不能操作;代码如下:

 private void button1_Click(object sender, EventArgs e)     //在 窗体 form1要打开form2 的按钮下
{
Form2 f2 = new Form2(); //创建一个新的 form2 窗体对象 f2 f2.ShowDialog(); //弹出一个f2 弹框 }

2 子窗口类型  特点:打开子窗口后,子窗口在父级窗口之上,并且父级窗口能够继续操作 ;代码如下

private void button1_Click(object sender, EventArgs e)     //在 窗体 form1要打开form2 的按钮下
{
Form2 f2 = new Form2(); //创建一个新的 form2 窗体对象 f2
f2.Owner = this; // 窗体f2的拥有者是这个f1窗口
f2.Show(); //弹出窗体f2 }

3 唯一类型  特点 只能打开一次并且关闭后还能在打开;代码如下:

1) 在构造函数里 创建一个公共集合         List<form > list =new List<form>()

2) 在点击打开另一个窗口的事件里创建form2 对象      form2 f2=new form2()

创建一个布尔类型has默认是fasle;            bool has=fasle;

3)  遍历一下form 集合                                foreach(form  a  in  list )

{

4)  在遍历 里判断如果form这个

对象遍历出来是form2                                           if(a  is form2)

那么 布尔类型    has变成true                              {

bool   has=true

}

}

5)判断如果has=true  那么集合里就有form2 这个新窗体那么就不用在打开了否则集合里没有这个新窗体 form2 那么打开它:

代码如下:

if(has=true)

{                      }else

{

list.add (form2)

f2.show                                                }

6  将这个窗体传值给form2 并在form2 关闭的同时将这个form2从集合里删除

4 窗口之间传值:将窗口1里文本框的内容传到窗口2里的lable;

1) 首先在窗口1里的按钮里打开窗口2

代码:

        private void button1_Click(object sender, EventArgs e)   //窗口1里的按钮里先打开窗口 form2
{
Form2 f2 = new Form2();
f2.Show(); }

2)再在窗口2的构造函数里传值:

代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace WindowsFormsApp2
{
public partial class Form2 : Form
{
public Form2( string s) // 接受一个字符串类型的值
{
InitializeComponent();
label1.Text = s; // 接受字符串的值等于传过来的这个字符串的值
} private void label1_Click(object sender, EventArgs e)
{ }
}
}

3)把窗口1里 文本框的值传给第二个窗口里

代码 :只需要将第一步代码里的  form2 f2=new form() 改为form2 f2=new form( textbox1.text)

listview的使用:

1  先点击小三角将视图改为 Details

2 编辑列   添加列将列的text改为你需要的列名

3 选中 :

1)单选        选择itemview 的属性里边的fullrowselect

2)多选        选择---------------------------的checkbox

4) 取值:

把listview选中的对象遍历出来:           foreach(listviewitems  li   in  listview1.selected  )

把取出来的值展示出来                          messagebox.show(li.text)            展示的是listview1里的第一项

messagebox.show(li.subitems[1].text)想要第几项中括号里添第几项-1

多窗体及窗体之间传值 以及listview的使用的更多相关文章

  1. windows form (窗体) 之间传值小结

    windows form (窗体) 之间传值小结   windows form (窗体) 之间传值小结 在windows form之间传值,我总结了有四个方法:全局变量.属性.窗体构造函数和deleg ...

  2. c# 日常记录,(获取系统时间、return),一些文件隐藏无法引用,c#多个窗体之间传值

    1.获取系统时间 DateTime.Now.ToString(); DateTime dt =DateTime.Now; dt.AddDays(1); //增加一天 dt.AddDays(-1);// ...

  3. 观察者模式的应用:Winform窗体之间传值

    观察者模式的应用:Winform窗体传值 观察者模式的概念: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并更新. 今天我们就学着用一下这个观察者模式,先想象 ...

  4. c# 不同窗体之间传值和调用

    1.子窗体事件刷新父窗体界面值 子窗体定义委托和事件 //声明一个委托 public delegate void DisplayUpdateDelegate(string str); //声明事件 p ...

  5. Ruby操作VBA的注意事项和技巧(2):宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用

    4.宏里调用并控制窗体以及窗体上的各种控件 1 Sub Criterion_Check() 2 If Workbooks.count = 0 Then '如果当前没有打开的工作薄的话需要发出警告 3 ...

  6. C# WinForm 父窗体 子窗体 传值

    C# WinForm 父窗体 子窗体 传值 本次示例效果如下:Form1为父窗体(包含textBox1.button1)Form2为子窗体(包含textBox2.button2) 父窗体给子窗体传值= ...

  7. C# Winform窗口之间传值的多种方法浅析(转)

    摘要http://www.jb51.net/article/63837.htm 这篇文章主要介绍了C# Winform窗口之间传值的多种方法浅析,本文起讲解了通过构造器传值.通过属性传递.通过事件携带 ...

  8. ASP.NET 页面之间传值的几种方式

    开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有 ...

  9. 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

随机推荐

  1. Javascript之网页版待办事项

    本文使用原生JS实现站点 http://www.todolist.cn/ 的基本功能. 其中页面的HTML布局和CSS样式取用原站,JS部分为自己编写. 效果图 完整代码 HTML.JS部分 < ...

  2. POJ旅行商问题——解题报告

    旅行商问题 总时间限制: 1000ms 内存限制: 65536kB 描述 某国家有n(1<=n<=10)座城市,给定任意两座城市间距离(不超过1000的非负整数).一个旅行商人希望访问每座 ...

  3. python—异常处理try

    写代码的时候会遇到各种各样的异常,那么代码就不会继续往下走了.比如说10除以0是错误的,因为除数不能为零学会捕捉异常,在异常出现的时候我们要做什么操作. 捕捉异常 d={} #例如定义字典 try: ...

  4. sql select sql查询

    select 一.课上练习代码 1 查询所有学生信息 select * from tb_student; select * from tb_teacher; 2 查询所有课程名称及学分(投影和别名) ...

  5. windows使用的奇淫技巧

    找回刚才打开的网页 记事本 特殊符号输入 窗口变化为1/2,1/4 批量重命名 复制文件路径 万能命令

  6. B【SDOI2008】Sandy的卡片

    时间限制 : 5000 MS   空间限制 : 128000 KB 问题描述 Sandy和Sue的热衷于收集干脆面中的卡片.然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡片 ...

  7. ajax使用POST提交报错400

    并非BadRequest!! 在用ajax访问登录接口的时候出现了这个错误,查阅得到使用Ajax的Post需要添加 contentType: "application/x-www-form- ...

  8. 为什么要学习Oracle技术?

    为什么要学习Oracle技术? 众所周知,Oracle占据着企业数据库领域超过48.1%的市场份额,成为高端企业数据库软件的绝对领导者.随着时间的推移,企业数据库的规模不断扩大,富有经验的资深Orac ...

  9. 《综合》MMM集群

    <综合>MMM集群 部署集群基础环境 MySQL-MMM架构部署 MySQL-MMM架构使用 1 部署集群基础环境 1.1 问题 本案例要求为MySQL集群准备基础环境,完成以下任务操作: ...

  10. JAVA自动化之Junit单元测试框架详解

    一.JUnit概述&配置 1.Junit是什么? Junit是一个Java 编程语言的开源测试框架,用于编写和运行测试.官网 地址:https://junit.org/junit4/ 2.Ma ...