三中打开窗口窗体状态:

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. CSS三角形/气泡的实现原理及应用

    记得第一次面试,面试官问如何用css实现一个不规则三角形?好叭 ·-·,触及到知识盲区了,手动叹气(╥﹏╥),好在别的回答的还好,没挂

  2. xgboost安装与原理

    1.xgboost库的安装 先在网址https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost 中下载whl文件,注意一定要下载跟自己当前安装Python版 ...

  3. imread()用法|| root权限

    1.ushort用法? USHORT is a macro which is not part of the official C++ language (it's probably defined ...

  4. coding++:解决Not allowed to load local resource错误-SpringBoot配置虚拟路径

    1.在SpringBoot里上传图片后返回了绝对路径,发现本地读取的环节上面出现了错误(Not allowed to load local resource),一开始用的是直接本地路径. 但是在页面上 ...

  5. RuntimeError: Exception thrown in SimpleITK ReadImage: /tmp/SimpleITK/Code/IO/src/sitkImageReaderBase.cxx:107: sitk::ERROR: Unable to determine ImageIO reader for "./data/.train.txt.swp"问题解决

    原因:产生此类错误是因为SimpleITK不能读取ubuntu中的隐藏文件,比如".train.txt.swp",因为此类文件是隐藏文件另外SimpleITK不支持读取此类文件. ...

  6. 硬不硬你说了算!35 张图解被问千百遍的 TCP 三次握手和四次挥手面试题

    每日一句英语学习,每天进步一点点: 前言 不管面试 Java .C/C++.Python 等开发岗位, TCP 的知识点可以说是的必问的了. 任 TCP 虐我千百遍,我仍待 TCP 如初恋. 遥想小林 ...

  7. 存储机制 cookie session jwt token

    cookieCookie的诞生 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网 ...

  8. Docket 容器引擎

    Docker 是世界领先的软件容器平台.是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中, 然后发布到任何流行的Linux或Windows机器上,可以实现虚拟化(软件 ...

  9. Azure多因素认证

    什么是多重身份验证? 双重验证是需要多种验证方法的身份验证方法,可为用户登录和事务额外提供一层重要的安全保障. 它的工作原理是需要以下两种或多种验证方法: 用户知道的某样东西(通常为密码) 用户具有的 ...

  10. API网关--Kong的实践

    1. 什么是Kong 目前互联网后台架构一般是采用微服务,或者类似微服务的形式,应用的请求通常需要访问多个后台系统.如果让每一个后台系统都实现鉴权.限流.负载均衡.审计等基础功能是不合适的,通用的做法 ...