qq_34689311
时光小偷ii
采纳率0%
2016-05-21 02:11 阅读 1.6k

c#在一个窗口用timer事件怎么触发另一个窗口的enable属性

form1窗口里

 private void timer1_Tick(object sender, EventArgs e)
        {
            DateTime timeend = Convert.ToDateTime(textBox2.Text);//设置结束时间

           textBox1.Text = dt.GetDateTimeFormats('M')[0].ToString();//设置当前时间

            string timeday = DateAndTime.DateDiff("d", timeend, DateTime.Now, FirstDayOfWeek.Sunday, FirstWeekOfYear.FirstFourDays).ToString();
            long time = long.Parse(timeday);
            if (time > 0)//判断倒计时时间是否大于0
               label1.Text = "倒计时已设置,剩余" + time + "day";//显示倒计时
            else
            {

                label1.Text = "时间已到";
          Form1 f1 = (Form1)this.Owner; //获得form1属性
            f1.Enabled = false;
            }

form2窗口

  private void Form2_Load(object sender, EventArgs e)
        {
            Form1 f2 = new Form1();  //实例化FORM2
            f2.Owner = this;  //指定form1是form2的父窗体
            f2.ShowDialog();          //打开Form2
        }

希望form1的时间到,form2窗体禁止任何操作,但是我的总是提示f1.Enabled = false;未将对象引用设置到对象的实例,求大神帮帮忙,小女子感激不尽!!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • bdmh bdmh 2016-05-21 02:37

    form2的实例传给form1,2里发布一个public的方法,直接调用

    当然最好还是用委托,实现自定义事件

    点赞 评论 复制链接分享
  • u010882878 John0King 2016-05-21 02:40

    代码不清楚, 不清楚 你这俩方法放在哪个类里面

    点赞 评论 复制链接分享
  • qq_34689311 时光小偷ii 2016-05-21 02:50
     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;
    using System.Diagnostics;  //process类所引用
    
    namespace WindowsFormsApplication4
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
    
    
            private void Form2_Load(object sender, EventArgs e)
            {
                Form1 f2 = new Form1();  //实例化FORM2
                f2.Owner = this;  //指定form1是form2的父窗体
                f2.ShowDialog();          //打开Form2
            }
    
    
    
    
        }
    }
    
    
       Form2 f1 = (Form2)this.Owner;
                f1.Enabled = false;
    
    
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-05-21 03:23

    Application.OpenForms["Form1"].Enabled = false;

    点赞 评论 复制链接分享

相关推荐