c#在弹出的子窗口中怎么调用父窗口的函数,显示出内容即打印购票的信息
namespace MyCinema{
public partial class MainForm : Form
父窗口MainForm
子窗口Print
类Ticket定义了2个函数:Print(),Print2()
public class Ticket
{
public virtual void Print()
{
string fileName = this.ScheduleItem.Time.Replace(":","-") + " " + this.Seat.SeatNum + ".txt";
FileStream fs = new FileStream(fileName, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("***************************");
sw.WriteLine(" 青鸟影院");
sw.WriteLine("---------------------------");
sw.WriteLine(" 电影名:\t{0}", this.ScheduleItem.Movie.MovieName);
sw.WriteLine(" 时间: \t{0}", this.ScheduleItem.Time);
sw.WriteLine(" 座位号:\t{0}", this.Seat.SeatNum);
sw.WriteLine(" 价格: \t{0}", this.Price.ToString());
sw.WriteLine("***************************");
sw.Close();
fs.Close();
}
public virtual void Print2()
{
Console.WriteLine("***************************");
Console.WriteLine(" 青鸟影院");
Console.WriteLine("---------------------------");
Console.WriteLine(" 电影名:\t{0}", this.ScheduleItem.Movie.MovieName);
Console.WriteLine(" 时间: \t{0}", this.ScheduleItem.Time);
Console.WriteLine(" 座位号:\t{0}", this.Seat.SeatNum);
Console.WriteLine(" 价格: \t{0}", this.Price.ToString());
Console.WriteLine("***************************");
}
父窗口MainForm:
namespace MyCinema
{
public partial class MainForm : Form
//调用工厂创建票
Ticket newTicket = TicketFactory.CreateTicket(cinema.Schedule.Items[key], cinema.Seats[seatNum],
discount, customerName, type);
if (cinema.Seats[seatNum].Color == Color.Yellow)
{
//打印
DialogResult result;
result = MessageBox.Show("是否购买?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (result == DialogResult.Yes)
{
//this.IsMdiContainer = true;
Print a= new Print();
// a.MdiParent=this;
a.Show();
cinema.Seats[seatNum].Color = Color.Red;
UpdateSeat();
cinema.SoldTickets.Add(newTicket);
newTicket.CalcPrice();
lblCalcPrice.Text = newTicket.Price.ToString();
newTicket.Print();
newTicket.Print2();
}
我是想要子窗口Print直接用 newTicket.Print2();然后输出显示在框里。
就是不知道在子窗口Print里要写什么代码可以直接调用父窗体里的newTicket.Print2();
要怎么实现,求高手 --------------------编程问答-------------------- http://bbs.csdn.net/topics/360140208 --------------------编程问答-------------------- 我喜欢定义一个静态类
public partial class lf
{
public static mainform main;
}
主窗口 load 那 main=this;
然后程序任何地方都可以通过 lf.main 来访问主窗口了 --------------------编程问答-------------------- 重载子窗口构造函数,把父窗口传递给他 --------------------编程问答-------------------- 好想你们能直接给我代码,在主窗体里应该写什么,子窗体里应该写什么,c#我还只是初学者,不是很懂
补充:.NET技术 , C#