有关C#窗体应用程序中窗口之间通讯的问题

问题描述

Application.OpenForms["Form1"].Controls["Label1"].Text="ii";

我之前在Form1种添加了Label这个控件,又在Form2中的代码里面添加了上述代码,实现当按Form2上面的按键的时候,将Form1中原本显示“Label1”的文字变成“ii”。Application.OpenForms["Form1"].Controls["timer1"].Enabled=true;

于是我又按照此种方法想控制Form1的定时器(代码还是在Form2中添加的),貌似不好使。以下是Form1.cs的代码。usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{intjishu=0;Form2object_Form2;publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){object_Form2=newForm2();object_Form2.Show();}publicvoidtimer1_Tick(objectsender,EventArgse){jishu++;this.label1.Text=jishu.ToString();//a.Text="sssss";//a.Show();//object_Form4.Show();}}}

调试的过程中函数timer1_Tick根本没有进入,按道理不是timer1使能的时候这个函数就可以进入的吗?

解决方案

解决方案二:
C#的问题在.NET技术板块比较集中
解决方案三:

解决方案四:
会结贴吗?不管你是要改变其他窗体的label文本,还是控制其他窗体的定时器,都可以通过委托事件完成。
解决方案五:
你的timer1是否有.Start()?
解决方案六:
Application.OpenForms["Form1"].Controls这个里面是没有timer控件的.你可以这样:Form2里面添加:Timer_Timer;publicForm2(Timertimer){InitializeComponent();_Timer=timer;}然后通过_Timer.Enabled=true;Form1里面:object_Form2=newForm2(this.timer1);object_Form2.Show();
解决方案七:
用委托与事件吧,不要用这种全局乱来的方式,不好调试
解决方案八:
没看到Timer变量啊,还有timer需要时间间隔和启动
解决方案九:
form2中想控制form1的定时器那就把控制方法写在form1中,然后form2调用form1中的该方法。

时间: 2024-11-01 02:53:08

有关C#窗体应用程序中窗口之间通讯的问题的相关文章

在窗体应用程序中打开数据库。。。一直打不开。

问题描述 在窗体应用程序中打开数据库...一直打不开. { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string strConnection = "Provider=Microsoft.Ace.OleDb.12.0;"; strConnection += @&quo

c++-如何讲一段C++代码放入C#的windows窗体应用程序中做可视化界面

问题描述 如何讲一段C++代码放入C#的windows窗体应用程序中做可视化界面 光纤铺设问题 我想用c#做张地图在上面画出最优铺设线路,C#画图我会,C++部分代码也完成了 我只是需要如何把C++代码放入C#中 ....不知道我的表达清不清晰 #include #include #include #include #include #include #define STATUS int #define OK 1 #define ERROR 0 #define INFINITY INT_MAX

c#窗体-c#两个窗口之间传值,虽然简单,但我仍不会,请各位大神帮忙

问题描述 c#两个窗口之间传值,虽然简单,但我仍不会,请各位大神帮忙 在一个窗口的button按钮中点击,另一个窗口的checkbox被选中,该咋写 解决方案 http://bbs.csdn.net/topics/360140208 解决方案二: 另一个窗体添加一个属性 public bool IsSelected { get { return checkBox1.Checked; } set { checkBox1.Checked = value; } } 主窗体 (Application.O

vb。net中窗口之间传递变量,急求解答!!!!

问题描述 我现在做的是通过分组把每一组的图片现在在一个控件中,现在控件中有几张图片,通过双击图片然后弹出form2,将这一组的图片现在的form2中左边的flowlayout中,右边显示图片的大图,就是,点击那张图片,图片就在右边显示大图.我现在的问题是,通过双击一组图片,如何获取这一组图片的数据,我是用一个datatable存储这一组图片的信息,如何获取,在form2中需要怎么写接口,处理获取的数据 解决方案 解决方案二:办法很多,常见的两种,一是将Data和Index作为全局变量,二是在fo

C++windows窗体应用程序中,如何在button_click事件中调用类

问题描述 #pragmaonce#include<iostream>#include<ctime>#include<fstream>#include<string>#include"windows.h"usingnamespacestd;refclassSort{public:Sort(void);intPartition(int*a,intp,intr);voidQuickSort(int*a,intp,intr);voidBubbli

C#Windows窗体应用程序中如何在父窗体里关闭所有打开的子窗体

问题描述 就是有一个父窗体,打开了3个子窗体,在主菜单里有个窗体按钮,点击可以关闭当前打开的所有子窗体,哪位大仙帮帮忙 解决方案 解决方案二:http://blog.csdn.net/bdstjk/article/details/7007882解决方案三: 解决方案四:我做的是父窗体,而且我的问题跟你给的链接里的内容也没关系

尽量减小C++程序中文件之间关联程度的方法

在头文件中如果需要其他文件定义的类,尽量不包含那个头文件,只进行类的声明,头文件中使用这个类的时候能用指针就尽量用指针,并且不出现对该类函数的调用,在cpp文件中再包含那个类的头文件.

在.NET客户端程序中使用多线程

通常认为在编写程序中用到多线程是一个高级的编程任务,容易发生错误.在本月的栏目中,我将在一个Windows窗体应用程序中使用多线程,它具有实际的意义,同时尽量使事情简单.我的目标是在一个普通的需求描述中用最好的办法讲解多线程:客户仍然比较喜欢使用户交互方式的应用程序. 多线程通常和服务器端软件,可扩展性及性能技术联系在一起. 然而,在微软.NET框架中,许多服务器端应用程序都驻留在ASP.NET体系结构中.同样,这些应用程序在逻辑上是单线程的, 因为IIS和ASP.NET在ASP.NET Web

《Android 应用案例开发大全(第二版)》——6.4节跨应用程序访问窗口

6.4 跨应用程序访问窗口 Android开发权威指南(第二版) 在前面曾介绍过可以通过显式和隐式的方式访问窗口,显式方式只能访问应用程序内部的窗口,而隐式方式无论当前应用程序,还是其他应用程序中的窗口都可以访问.不过阅读了本节的内容后读者就会改变这种观念.因为Android足够强大,已经完全打通不同应用程序之间的界限了,也就是说不同应用程序之间的交互几乎和应用程序内部的交互完全一样.因此在一个应用程序中同样可以通过直接指定另外一个应用程序中窗口类的方式访问该窗口,也就是跨应用程序显式调用.所以