当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,