三中打开窗口窗体状态:

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. [贪心]Codeforces Equal Rectangles

    Equal Rectangles time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  2. webapck学习笔记

    该笔记是博主学习webpack课程时做的笔记,里面加了一些自己的一些理解,也踩了一些坑,在笔记中基本上都更正过来了,分享给大家,如果发现什么问题,望告知,非常感谢. 1. 为什么要学webapck 为 ...

  3. [JVM教程与调优] 了解JVM 堆内存溢出以及非堆内存溢出

    在上一章中我们介绍了JVM运行时参数以及jstat指令相关内容:[JVM教程与调优] 什么是JVM运行时参数?.下面我们来介绍一下jmap+MAT内存溢出. 首先我们来介绍一下下JVM的内存结构. J ...

  4. 热点 | 近期Github热点项目库总结

    整理 | Walker 介绍:你有没有想过你会成为一个艺术家,但无奈你不知道如何画画?得益于计算机视觉技术,你可以在ML社区轻松实现这个梦想.更棒的是,Github上ML社区的代码都是开源的! 这就是 ...

  5. ClickHouse学习系列之一【安装说明】

    背景 最近花了些时间看了下ClickHouse文档,发现它在OLAP方面表现很优异,而且相对也比较轻量和简单,所以准备入门了解下该数据库系统.按照习惯第一步先安装,本文对其用户权限管理方面进行梳理说明 ...

  6. Java基础语法(11)-面向对象之关键字

    title: Java基础语法(11)-面向对象之关键字 blog: CSDN data: Java学习路线及视频 1.this this是什么 它在方法内部使用,即这个方法所属对象的引用: clas ...

  7. 阿里云域名+ 腾讯云服务器 配置nginx

    1,实现目标,通过外网访问域名,能够通过nginx 实现反向代理,以及负载均衡 2,准备工具 阿里云注册的域名: aiyuesheng.com 腾讯云领取的云服务器:centos 7 xshell 6 ...

  8. Mac OS安装Go语言及配置VSCode开发环境:一个工具(gopls)解千愁

    前言 截止到目前为止,Go语言已经更新到1.14.1,网上的很多教程均已经过时,我在此汇总并整理一下相关的教程,提供一个适合当下的Mac OS教程. 教程中使用了Go在1.11之后推出的依赖包管理工具 ...

  9. CodeForces 190C STL

    Portal: http://codeforces.com/problemset/problem/190/C 一道卡输入输出的蛋疼题 题意:给你一个由pair和int所组成的沙茶字符串(最大含有1e5 ...

  10. 第一个AWK程序的尝试

    为了统计API的访问,需要读取8个G的数据,所以学习了下文本处理神器,AWK.简单实例如下: # 以\t分割的文本 awk -F "\t" ' //获取小时的函数 function ...