多窗体及窗体之间传值 以及listview的使用
三中打开窗口窗体状态:
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的使用的更多相关文章
- windows form (窗体) 之间传值小结
windows form (窗体) 之间传值小结 windows form (窗体) 之间传值小结 在windows form之间传值,我总结了有四个方法:全局变量.属性.窗体构造函数和deleg ...
- c# 日常记录,(获取系统时间、return),一些文件隐藏无法引用,c#多个窗体之间传值
1.获取系统时间 DateTime.Now.ToString(); DateTime dt =DateTime.Now; dt.AddDays(1); //增加一天 dt.AddDays(-1);// ...
- 观察者模式的应用:Winform窗体之间传值
观察者模式的应用:Winform窗体传值 观察者模式的概念: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并更新. 今天我们就学着用一下这个观察者模式,先想象 ...
- c# 不同窗体之间传值和调用
1.子窗体事件刷新父窗体界面值 子窗体定义委托和事件 //声明一个委托 public delegate void DisplayUpdateDelegate(string str); //声明事件 p ...
- Ruby操作VBA的注意事项和技巧(2):宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用
4.宏里调用并控制窗体以及窗体上的各种控件 1 Sub Criterion_Check() 2 If Workbooks.count = 0 Then '如果当前没有打开的工作薄的话需要发出警告 3 ...
- C# WinForm 父窗体 子窗体 传值
C# WinForm 父窗体 子窗体 传值 本次示例效果如下:Form1为父窗体(包含textBox1.button1)Form2为子窗体(包含textBox2.button2) 父窗体给子窗体传值= ...
- C# Winform窗口之间传值的多种方法浅析(转)
摘要http://www.jb51.net/article/63837.htm 这篇文章主要介绍了C# Winform窗口之间传值的多种方法浅析,本文起讲解了通过构造器传值.通过属性传递.通过事件携带 ...
- ASP.NET 页面之间传值的几种方式
开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有 ...
- 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
随机推荐
- 北邮OJ103.反转单词 c++/java
103. 反转单词 时间限制 1000 ms 内存限制 65536 KB 题目描述 给出一句英文句子(只由大小写字母和空格组成,不含标点符号,也不会出现连续的空格),请将其中的所有单词顺序翻转 输入格 ...
- Java 泛型数组问题
Java中不支持泛型数组, 以下代码会编译报错:generic array creation ArrayList<Integer>[] listArr = new ArrayList< ...
- Selenium系列(十六) - Web UI 自动化基础实战(3)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- 线程安全,syncronized 用法
1,为什么有线程安全问题? 当多个线程同时共享同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题.但是做读操作是不会发生数据冲突问题. public class Tra ...
- spring @EnableAspectJAutoProxy背后的那些事(spring AOP源码赏析)
在这个注解比较流行的年代里,当我们想要使用spring 的某些功能时只需要加上一行代码就可以了,比如: @EnableAspectJAutoProxy开启AOP, @EnableTransaction ...
- python——os平台编程
一.os平台编程需求 1.目录文件的操作 对系统目录,文件的操作方法 2.程序的定时执行 3.可执行程序的转换 python程序向可执行程序的转换 二.目录文件操作 root:当前目录: dirs:当 ...
- docker 搭建keepalived+nginx高可用
前言 最近工作 中 有用到keepalived,就想着 在 本地 搭建一套环境验证一下相关的功能.因为创建虚拟机比较麻烦,就借助 docker来搭建这样 一套 环境 ,顺带学习 巩固下docker的 ...
- 一位读者刚刚收割阿里、腾讯等大厂Offer,他说这些话一定要和你们说一下
本文来自读者投稿,作者是我的一位资深读者,也是我知识星球的球友,最近在春招中收割了很多大厂的Offer.看了他总结后,我发现很多地方和我当年参加校招的时候很相像,甚至比我那个时候还要优秀.分享给大家, ...
- 自执行函数-[javascript]-[语法]
在看别人的代码的时候,遇到了一种写法,之前没有见过,如下: ![](https://img2018.cnblogs.com/blog/1735896/201912/1735896-2019122114 ...
- vue+springboot后台实现页面按钮权限
思路 1.用户跟角色关联 2.角色跟菜单关联 3.菜单跟菜单下的按钮关联 4.后端返回每个菜单下的按钮,前端通过自定义事件,在每个按钮上加上相应的事件 打字麻烦,还是看图吧! 建立btn.js 然后在 ...