多窗体及窗体之间传值 以及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浏览器(操作 ...
随机推荐
- [最短路,最大流最小割定理] 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 ...
- java后台调用文件上传接口
借鉴:https://blog.csdn.net/yjclsx/article/details/70675057 /** * 调用流程上传文件接口上传文件 * @param url * @param ...
- Transformers 词汇表 | 二
作者|huggingface 编译|VK 来源|Github 词汇表每种模型都不同,但与其他模型相似.因此,大多数模型使用相同的输入,此处将在用法示例中进行详细说明. 输入ID 输入id通常是传递给模 ...
- 使用scikit-learn解决文本多分类问题(附python演练)
来源 | TowardsDataScience 译者 | Revolver 在我们的商业世界中,存在着许多需要对文本进行分类的情况.例如,新闻报道通常按主题进行组织; 内容或产品通常需要按类别打上标签 ...
- Feign客户端的重构,新建springcloud架构
1,在上篇博文中,已经实现了feign 客户端来远程调用接口的功能,因为feign 客户端在springcloud 开发过程中是比较常用的方式 https://www.cnblogs.com/pick ...
- flask操作数据库 以及 建表
创建迁移仓库 首先,安装Flask-Migrate: pip install flask-migrate 将app项目注册,便于使用orm操作 from flask_sqlalchemy import ...
- centos7中安装mysql
centos7中安装mysql网上已经很多资源了,我就不在赘述了.我这里只是记录下我安装的时候出现的一些问题. 原文:https://www.cnblogs.com/bigbrotherer/p/72 ...
- JavaScipt创建函数的方法
JavaScipt的函数的定义有三种方式: 一.命名函数定义 1.JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 (). 2.函数名可包含字母.数字.下划线和美 ...
- Python——五分钟理解函数式编程与闭包
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第9篇文章,我们来聊聊Python的函数式编程与闭包. 函数式编程 函数式编程这个概念我们可能或多或少都听说过,刚听 ...
- Django之auth用户认证
auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: authenticate() 提供 ...