42 个解决方案
#1
Form2 form2=new Form2();
form2.showdialog();
#2
(new Form2()).Show(this);
#3
Form2 f2 = new Form2();
//f2.Show();//显示
//f2.ShowDialog();//模态显示
默认情况Form1都是不会关闭的。
#4
我见过 问打开一个窗体关闭原来窗体的 还真没有见过你这样问的
new Form2().Show();
new Form2().Show();
#5
这是啥问题哦
#6
![C# 点击一个按钮新建一个窗体 但又不关闭原来的窗体 C# 点击一个按钮新建一个窗体 但又不关闭原来的窗体](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyOXVhVzl1THpFM0xtZHBaZz09.jpg?w=700&webp=1)
#7
到底是要form1关闭还是不关闭?
如果是想form1在点击button1后弹出form2并且关闭form1。可以在按钮事件里面show完form2后关闭form1,如果form1是程序主窗体的话就不能关闭,可以用form1.Visible= false;
如果是想form1在点击button1后弹出form2并且关闭form1。可以在按钮事件里面show完form2后关闭form1,如果form1是程序主窗体的话就不能关闭,可以用form1.Visible= false;
#8
form1不关闭!
#9
我将楼上所有代码都试过了,根本行不通。我只是想在form1上放一个button1,单击后弹出另外一个窗体form2,很难理解吗?
#10
呵呵 这贴*了 lz 知道什么是 事件 么你btn的事件加了没?
#11
这不是很简单么
#12
啥都不懂就别来问问题,这是CSDN,不是智障儿童救助中心。
#13
如果是winfrom的直接show出来都不会关闭父窗体的。。
#14
我怀疑楼主没有构造一个FORM2,所以他试了楼上的代码都没用。。。。
#15
winform下面你直接show就会弹出新窗体的。
#16
把form1隐藏就可以了嘛
#17
是你自己不知道你在问什么,只要自己不关闭form1,你新弹出窗口,form1根本不会关闭,所以你没有问的必要。。。
#18
- -莫非想动态的show出Form2?
Form form2 = new Form();
form2.Show();
Form form2 = new Form();
form2.Show();
#19
![C# 点击一个按钮新建一个窗体 但又不关闭原来的窗体 C# 点击一个按钮新建一个窗体 但又不关闭原来的窗体](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyOXVhVzl1THpJdVoybG0%3D.jpg?w=700&webp=1)
估计是2次修改,看不懂别人的code
说对了,请鼓掌
#20
protected void button1_Click(object sender ,EventArgs e)
{
Form2 form2=new Form2();
form2.Showdialog();
或
form2.Show();
//this.Hide();
}
#21
好简单的问题,这是我3年前不懂事学的内容
#22
这话说的对,赞一个
#23
CSDN就不允许菜鸟发问了? 我们菜鸟只能回答这些问题了。没人问那我只能看了。。
#24
这种贴子要顶啊!
#25
Form form2 = new Form();
form2.Show();
这种帖子要顶啊,
接分啊
form2.Show();
这种帖子要顶啊,
接分啊
#26
好吧 我开始还以为楼主的btn1不在from1上 。
看了半天,发现。。。没什么发现。
form1 你不关 它自己是不会关的
。
看了半天,发现。。。没什么发现。
form1 你不关 它自己是不会关的
。
#27
Form2 f2=new Form2();
this.Visible=false;
f2.Show();
#28
给button1写一个事件响应程序,在button1的properties里,设置event里面的click事件为你写的那个事件名字就可以了(我这里用的是button1_click)。我很菜,刚开始学C#,希望能帮到楼主
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_click(object sender, EventArgs ea)
{
Form form2 = new Form();
form2.Show();
}
}
#29
顺便再补充个菜鸟回复。。。在Form1上加按钮只需在Form1.cs[Design]里面,从左边的工具栏里拖放一个按钮到Form1的界面上就可以了。。。按钮的各种属性都可以右键点击,选择Properties,在里面各种设置。。。。各位大大不要喷我回答的低级啊。。。我是新人、、、
#30
还有这样的?不都是的吗?
#31
楼主是要动态建立窗体么
#32
元芳,你怎么看???
#33
我发现你是不是在CSDN待久了待出优越感啦 人家不懂就问很正常 我看了你回复的许多帖子 回答技术的很少 就爱喷人 就算你技术牛B 我不相信你生下来就牛B的 不也是慢慢学了 人家就是不懂才问啊 懂还问个屁啊 你要嫌人家问的水平没技术你就别回就是咯
#34
先学会问问题再来问问题,自己问的是什么的东西自己都不知道就发帖来求助,除了耽误双方的时间没有任何实际意义。发帖人既得不到帮助,回贴人也没什么成就感。
有兴趣的话看看如下内容
http://www.beiww.com/doc/oss/smart-questions.html
#35
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
using System.Runtime.Serialization;
namespace 将数组转成xml读取
{
class Program
{
static void Main(string[] args)
{
Person[] o = Init().ToArray();
///
/// 此处可理解成:
/// 要转化的对象是什么类型,以转化格式的时候按此类型格式进行转化
Type type = o.GetType();
//string a = type.FullName;
string path = Directory.GetCurrentDirectory()+@"\test.xml";
WriteXmlSerializer(type, o,path);
ReadeXmlSerializer(type,path);
}
/// <summary>
/// 读取XML,并将其转化成数组
/// </summary>
/// <param name="type"></param>
private static void ReadeXmlSerializer(Type type,string path)
{
string temp = "";
Person[] o = new Person[10];
//模拟读取数据库数据
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, Encoding.UTF8);
temp = sr.ReadToEnd();
//将xml转成object[]
XmlSerializer xml = new XmlSerializer(type);
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(temp)))
{
try
{
o = (Person[])xml.Deserialize(ms);
}
catch (Exception)
{
throw;
}
}
}
/// <summary>
/// 将数组转化成XML,
/// </summary>
/// <param name="type"></param>
/// <param name="o"></param>
private static void WriteXmlSerializer(Type type, Person[] o, string path)
{
string temp = "";
DataContractSerializer dcs = new DataContractSerializer(type);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
using (System.Xml.XmlWriter xw = System.Xml.XmlWriter.Create(ms))
{
dcs.WriteObject(xw,o);
}
ms.Position = 0;
temp = System.Xml.Linq.XElement.Load(ms).ToString();
}
}
/// <summary>
/// 初使化学生集合
/// </summary>
/// <returns></returns>
private static List<Person> Init()
{
List<Person> students = new List<Person>();
Student s0 = new Student { id = 1, name = "张三", sex = false, age = 12, address = "aaaaa" };
Student s1 = new Student { id = 2, name = "李四", sex = true, age = 22, address = "bbbbbb" };
Student s2 = new Student { id = 8, name = "王五", sex = false, age = 16, address = "cccc" };
Student s3 = new Student { id = 14, name = "赵六", sex = true, age = 14, address = "ddddd" };
Student s4 = new Student { id = 6, name = "二麻子", sex = true, age = 32, address = "eeeee" };
Student s5 = new Student { id = 3, name = "w", sex = false, age = 26, address = "gggggg" };
Student s6 = new Student { id = 10, name = "fgg", sex = false, age = 22, address = "jjjjj" };
Student s7 = new Student { id = 4, name = "qq", sex = true, age = 23, address = "wwwww" };
Teacher t1 = new Teacher() { Id = 1, Name = "aaa", Sex = false };
Teacher t2 = new Teacher() { Id = 2, Name = "bbb", Sex = true };
Teacher t3 = new Teacher() { Id = 3, Name = "ccc", Sex = true };
students.Add(s0);
students.Add(s1);
students.Add(s2);
students.Add(s3);
students.Add(s4);
students.Add(s5);
students.Add(s6);
students.Add(s7);
students.Add(t1);
students.Add(t2);
students.Add(t3);
return students;
}
#36
不好意思 贴错了。。。
#37
这个问题,牛,按钮click事件里家form2.show()不久行了
#38
直接show()一下就行了,默认是不会关闭原窗体的。
#39
你是要关还是不关? 说清楚点啊
#40
如果在form1中 按下button按钮 出现form2窗体
可以这样写
在form1中的page_load下
form2 frm = new form2();
frm.show();
或者frm.showdialog();
你还可以用父子窗体功能
可以这样写
在form1中的page_load下
form2 frm = new form2();
frm.show();
或者frm.showdialog();
你还可以用父子窗体功能
#41
是在button1_click下写的上些代码 这样一点按钮就行了
#42
#1
Form2 form2=new Form2();
form2.showdialog();
#2
(new Form2()).Show(this);
#3
Form2 f2 = new Form2();
//f2.Show();//显示
//f2.ShowDialog();//模态显示
默认情况Form1都是不会关闭的。
#4
我见过 问打开一个窗体关闭原来窗体的 还真没有见过你这样问的
new Form2().Show();
new Form2().Show();
#5
这是啥问题哦
#6
![C# 点击一个按钮新建一个窗体 但又不关闭原来的窗体 C# 点击一个按钮新建一个窗体 但又不关闭原来的窗体](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyOXVhVzl1THpFM0xtZHBaZz09.jpg?w=700&webp=1)
#7
到底是要form1关闭还是不关闭?
如果是想form1在点击button1后弹出form2并且关闭form1。可以在按钮事件里面show完form2后关闭form1,如果form1是程序主窗体的话就不能关闭,可以用form1.Visible= false;
如果是想form1在点击button1后弹出form2并且关闭form1。可以在按钮事件里面show完form2后关闭form1,如果form1是程序主窗体的话就不能关闭,可以用form1.Visible= false;
#8
form1不关闭!
#9
我将楼上所有代码都试过了,根本行不通。我只是想在form1上放一个button1,单击后弹出另外一个窗体form2,很难理解吗?
#10
呵呵 这贴*了 lz 知道什么是 事件 么你btn的事件加了没?
#11
这不是很简单么
#12
啥都不懂就别来问问题,这是CSDN,不是智障儿童救助中心。
#13
如果是winfrom的直接show出来都不会关闭父窗体的。。
#14
我怀疑楼主没有构造一个FORM2,所以他试了楼上的代码都没用。。。。
#15
winform下面你直接show就会弹出新窗体的。
#16
把form1隐藏就可以了嘛
#17
是你自己不知道你在问什么,只要自己不关闭form1,你新弹出窗口,form1根本不会关闭,所以你没有问的必要。。。
#18
- -莫非想动态的show出Form2?
Form form2 = new Form();
form2.Show();
Form form2 = new Form();
form2.Show();
#19
![C# 点击一个按钮新建一个窗体 但又不关闭原来的窗体 C# 点击一个按钮新建一个窗体 但又不关闭原来的窗体](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyOXVhVzl1THpJdVoybG0%3D.jpg?w=700&webp=1)
估计是2次修改,看不懂别人的code
说对了,请鼓掌
#20
protected void button1_Click(object sender ,EventArgs e)
{
Form2 form2=new Form2();
form2.Showdialog();
或
form2.Show();
//this.Hide();
}
#21
好简单的问题,这是我3年前不懂事学的内容
#22
这话说的对,赞一个
#23
CSDN就不允许菜鸟发问了? 我们菜鸟只能回答这些问题了。没人问那我只能看了。。
#24
这种贴子要顶啊!
#25
Form form2 = new Form();
form2.Show();
这种帖子要顶啊,
接分啊
form2.Show();
这种帖子要顶啊,
接分啊
#26
好吧 我开始还以为楼主的btn1不在from1上 。
看了半天,发现。。。没什么发现。
form1 你不关 它自己是不会关的
。
看了半天,发现。。。没什么发现。
form1 你不关 它自己是不会关的
。
#27
Form2 f2=new Form2();
this.Visible=false;
f2.Show();
#28
给button1写一个事件响应程序,在button1的properties里,设置event里面的click事件为你写的那个事件名字就可以了(我这里用的是button1_click)。我很菜,刚开始学C#,希望能帮到楼主
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_click(object sender, EventArgs ea)
{
Form form2 = new Form();
form2.Show();
}
}
#29
顺便再补充个菜鸟回复。。。在Form1上加按钮只需在Form1.cs[Design]里面,从左边的工具栏里拖放一个按钮到Form1的界面上就可以了。。。按钮的各种属性都可以右键点击,选择Properties,在里面各种设置。。。。各位大大不要喷我回答的低级啊。。。我是新人、、、
#30
还有这样的?不都是的吗?
#31
楼主是要动态建立窗体么
#32
元芳,你怎么看???
#33
我发现你是不是在CSDN待久了待出优越感啦 人家不懂就问很正常 我看了你回复的许多帖子 回答技术的很少 就爱喷人 就算你技术牛B 我不相信你生下来就牛B的 不也是慢慢学了 人家就是不懂才问啊 懂还问个屁啊 你要嫌人家问的水平没技术你就别回就是咯
#34
先学会问问题再来问问题,自己问的是什么的东西自己都不知道就发帖来求助,除了耽误双方的时间没有任何实际意义。发帖人既得不到帮助,回贴人也没什么成就感。
有兴趣的话看看如下内容
http://www.beiww.com/doc/oss/smart-questions.html
#35
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
using System.Runtime.Serialization;
namespace 将数组转成xml读取
{
class Program
{
static void Main(string[] args)
{
Person[] o = Init().ToArray();
///
/// 此处可理解成:
/// 要转化的对象是什么类型,以转化格式的时候按此类型格式进行转化
Type type = o.GetType();
//string a = type.FullName;
string path = Directory.GetCurrentDirectory()+@"\test.xml";
WriteXmlSerializer(type, o,path);
ReadeXmlSerializer(type,path);
}
/// <summary>
/// 读取XML,并将其转化成数组
/// </summary>
/// <param name="type"></param>
private static void ReadeXmlSerializer(Type type,string path)
{
string temp = "";
Person[] o = new Person[10];
//模拟读取数据库数据
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, Encoding.UTF8);
temp = sr.ReadToEnd();
//将xml转成object[]
XmlSerializer xml = new XmlSerializer(type);
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(temp)))
{
try
{
o = (Person[])xml.Deserialize(ms);
}
catch (Exception)
{
throw;
}
}
}
/// <summary>
/// 将数组转化成XML,
/// </summary>
/// <param name="type"></param>
/// <param name="o"></param>
private static void WriteXmlSerializer(Type type, Person[] o, string path)
{
string temp = "";
DataContractSerializer dcs = new DataContractSerializer(type);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
using (System.Xml.XmlWriter xw = System.Xml.XmlWriter.Create(ms))
{
dcs.WriteObject(xw,o);
}
ms.Position = 0;
temp = System.Xml.Linq.XElement.Load(ms).ToString();
}
}
/// <summary>
/// 初使化学生集合
/// </summary>
/// <returns></returns>
private static List<Person> Init()
{
List<Person> students = new List<Person>();
Student s0 = new Student { id = 1, name = "张三", sex = false, age = 12, address = "aaaaa" };
Student s1 = new Student { id = 2, name = "李四", sex = true, age = 22, address = "bbbbbb" };
Student s2 = new Student { id = 8, name = "王五", sex = false, age = 16, address = "cccc" };
Student s3 = new Student { id = 14, name = "赵六", sex = true, age = 14, address = "ddddd" };
Student s4 = new Student { id = 6, name = "二麻子", sex = true, age = 32, address = "eeeee" };
Student s5 = new Student { id = 3, name = "w", sex = false, age = 26, address = "gggggg" };
Student s6 = new Student { id = 10, name = "fgg", sex = false, age = 22, address = "jjjjj" };
Student s7 = new Student { id = 4, name = "qq", sex = true, age = 23, address = "wwwww" };
Teacher t1 = new Teacher() { Id = 1, Name = "aaa", Sex = false };
Teacher t2 = new Teacher() { Id = 2, Name = "bbb", Sex = true };
Teacher t3 = new Teacher() { Id = 3, Name = "ccc", Sex = true };
students.Add(s0);
students.Add(s1);
students.Add(s2);
students.Add(s3);
students.Add(s4);
students.Add(s5);
students.Add(s6);
students.Add(s7);
students.Add(t1);
students.Add(t2);
students.Add(t3);
return students;
}
#36
不好意思 贴错了。。。
#37
这个问题,牛,按钮click事件里家form2.show()不久行了
#38
直接show()一下就行了,默认是不会关闭原窗体的。
#39
你是要关还是不关? 说清楚点啊
#40
如果在form1中 按下button按钮 出现form2窗体
可以这样写
在form1中的page_load下
form2 frm = new form2();
frm.show();
或者frm.showdialog();
你还可以用父子窗体功能
可以这样写
在form1中的page_load下
form2 frm = new form2();
frm.show();
或者frm.showdialog();
你还可以用父子窗体功能
#41
是在button1_click下写的上些代码 这样一点按钮就行了