多窗体及窗体之间传值 以及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浏览器(操作 ...
随机推荐
- css清除浮动影响
将清除浮动代码添加到重置样式表中,随时可以调用 }}.clearfix:after{clear:both} 给需要清除浮动影响的元素添加class名 --- clearfix 例: <!-- c ...
- STM32CubeMx——串口使用DMA收发
用到的是DMA发送数据,接收还是普通的串口接收. 一.代码生成 1.按以前的方法设置好时钟和调试方式,这里就不多说了. 2.设置串口1. 3.在DMA Setting里点击Add添加USART1_TX ...
- 配置centOS下的Python
Linux下Python版本升级: 1. 首先确认Linux操作系统中自带的python 版本时候与自己所需要的版本一致 所有的python版本都在https://www.python.org/ftp ...
- Sql Server数据库性能优化之索引
最近在做SQL Server数据库性能优化,因此复习下一索引.视图.存储过程等知识点.本篇为索引篇,知识整理来源于互联网. 索引加快检索表中数据的方法,它对数据表中一个或者多个列的值进行结构排序,是数 ...
- Matlab——m_map指南(4)——实例
1. 全球/地区温度图 (1)读取数据 clear all setup_nctoolbox %调用工具包 tic %计时 %% nc=ncgeodataset('tmpsfc.gdas.199401. ...
- NCEP CFSR数据下载
一.简介 CFSR(Climate Forecast SystemReanalysis)再分析资料使用了 GEOS-5(Goddard EarthObserving System)大气模式与资料同化系 ...
- Ruby学习计划-(1)搭建开发环境
环境搭建 工欲善其事,必先利其器.要学习一门新的语言当然也需要搭建好开发环境,这样才能更加高效的完成工作提高自身的工作效率.PS:由于自己使用的是MacBookPro,因此之后的所有问题 ...
- minIO分布式集群搭建+nginx负载均衡
暂时关闭防火墙 systemctl stop firewalld 查看防火墙状态 systemctl status firewalld 赋予最高权限 chmod +x minio !/bin/bash ...
- Java中的数据结构-HashMap
Java数据结构-HashMap 目录 Java数据结构-HashMap 1. HashMap 1.1 HashMap介绍 1.1.1 HashMap介绍 1.1.2 HashMap继承图 1.2 H ...
- ceph概述
ceph概述 基础知识 什么是分布式文件系统 • ...