三中打开窗口窗体状态:

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

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

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

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

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

代码:

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

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

代码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace WindowsFormsApp2
  11. {
  12. public partial class Form2 : Form
  13. {
  14. public Form2( string s) // 接受一个字符串类型的值
  15. {
  16. InitializeComponent();
  17. label1.Text = s; // 接受字符串的值等于传过来的这个字符串的值
  18. }
  19.  
  20. private void label1_Click(object sender, EventArgs e)
  21. {
  22.  
  23. }
  24. }
  25. }

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. [最短路,最大流最小割定理] 2019 Multi-University Training Contest 1 Path

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=6582 Path Time Limit: 2000/1000 MS (Java/Others)    Mem ...

  2. java后台调用文件上传接口

    借鉴:https://blog.csdn.net/yjclsx/article/details/70675057 /** * 调用流程上传文件接口上传文件 * @param url * @param ...

  3. Transformers 词汇表 | 二

    作者|huggingface 编译|VK 来源|Github 词汇表每种模型都不同,但与其他模型相似.因此,大多数模型使用相同的输入,此处将在用法示例中进行详细说明. 输入ID 输入id通常是传递给模 ...

  4. 使用scikit-learn解决文本多分类问题(附python演练)

    来源 | TowardsDataScience 译者 | Revolver 在我们的商业世界中,存在着许多需要对文本进行分类的情况.例如,新闻报道通常按主题进行组织; 内容或产品通常需要按类别打上标签 ...

  5. Feign客户端的重构,新建springcloud架构

    1,在上篇博文中,已经实现了feign 客户端来远程调用接口的功能,因为feign 客户端在springcloud 开发过程中是比较常用的方式 https://www.cnblogs.com/pick ...

  6. flask操作数据库 以及 建表

    创建迁移仓库 首先,安装Flask-Migrate: pip install flask-migrate 将app项目注册,便于使用orm操作 from flask_sqlalchemy import ...

  7. centos7中安装mysql

    centos7中安装mysql网上已经很多资源了,我就不在赘述了.我这里只是记录下我安装的时候出现的一些问题. 原文:https://www.cnblogs.com/bigbrotherer/p/72 ...

  8. JavaScipt创建函数的方法

    JavaScipt的函数的定义有三种方式:  一.命名函数定义 1.JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 (). 2.函数名可包含字母.数字.下划线和美 ...

  9. Python——五分钟理解函数式编程与闭包

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第9篇文章,我们来聊聊Python的函数式编程与闭包. 函数式编程 函数式编程这个概念我们可能或多或少都听说过,刚听 ...

  10. Django之auth用户认证

    auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: authenticate()    提供 ...