给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(); } }
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 };
Form2 f2 = new Form2();
//f2.Show();//显示
//f2.ShowDialog();//模态显示
默认情况Form1都是不会关闭的。
new Form2().Show();
如果是想form1在点击button1后弹出form2并且关闭form1。可以在按钮事件里面show完form2后关闭form1,如果form1是程序主窗体的话就不能关闭,可以用form1.Visible= false;
是你自己不知道你在问什么,只要自己不关闭form1,你新弹出窗口,form1根本不会关闭,所以你没有问的必要
Form form2 = new Form();
form2.Show();
{
Form2 form2=new Form2();
form2.Showdialog();
或
form2.Show(); //this.Hide();}
CSDN就不允许菜鸟发问了? 我们菜鸟只能回答这些问题了。没人问那我只能看了。。
form2.Show();
这种帖子要顶啊,
接分啊
看了半天,发现没什么发现。
form1 你不关 它自己是不会关的
。
this.Visible=false;
f2.Show();
{
public Form1()
{
InitializeComponent();
} private void button1_click(object sender, EventArgs ea)
{
Form form2 = new Form();
form2.Show();
}
}
有兴趣的话看看如下内容
http://www.beiww.com/doc/oss/smart-questions.html
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;
}
可以这样写
在form1中的page_load下
form2 frm = new form2();
frm.show();
或者frm.showdialog();你还可以用父子窗体功能