关于c#中怎么引用另一个窗体内变量的问题(两个问题)大神们看看

问题描述

朋友你好,我c#新手,看了你好几篇博文了你挺厉害的,能不能指教下--我在主窗体重两个平级的ToolStripMenuItem的按钮下打开两个子窗体;(问题1)我怎么才能记录下我在选择ToolStripMenuItem是选了哪个?(问题2)我想在一个子窗体中引用另一个子窗体中的--局部变量--下面是我现在做的结果FileImportForm中UserOperationus=newUserOperation(this.filename.Text);在UserOperation中构造函数publicUserOperation(stringstr){InitializeComponent();this.filePath.Text=str;}debug测试this.filePath.Text是能保存this.filename.Text的值得,关键是我要在其他UserOperation()的方法中用到它,我该怎么取出来,只是做简单的赋值的话等到要用它的时候this.filePath.Text已经为空了,我该怎么弄或者你有什么好方法吗?谢谢了。(Knight94大神,在你的文章下发不了评论,只能单独发出来了)

解决方案

解决方案二:
@Knight94
解决方案三:
问题一:在主页面类中定义类变量ToolStripMenuItemcurClickItem,当点击两个平级的ToolStripMenuItem时,把点击的ToolStripMenuItem赋值给curClickItem;问题二:方法1:在类UserOperation定义一个公共的静态的类变量;方法2:每个UserOperation的构造函数都传路径。
解决方案四:
引用2楼lihui398的回复:

问题一:在主页面类中定义类变量ToolStripMenuItemcurClickItem,当点击两个平级的ToolStripMenuItem时,把点击的ToolStripMenuItem赋值给curClickItem;问题二:方法1:在类UserOperation定义一个公共的静态的类变量;方法2:每个UserOperation的构造函数都传路径。

问题2能给下具体形式吗?c#新手,定义公共静态类变量然后咱其他方法里就能取到this.filePath.Text的值了吗?我先去试试啊·············
解决方案五:
引用2楼lihui398的回复:

问题一:在主页面类中定义类变量ToolStripMenuItemcurClickItem,当点击两个平级的ToolStripMenuItem时,把点击的ToolStripMenuItem赋值给curClickItem;问题二:方法1:在类UserOperation定义一个公共的静态的类变量;方法2:每个UserOperation的构造函数都传路径。

这是第一个类中一个方法privatevoidbnt_browse_Click(objectsender,EventArgse){//打开对话框OpenFileDialogopenfile=newOpenFileDialog();openfile.InitialDirectory=Environment.GetFolderPath(Environment.SpecialFolder.Templates);//过滤文件类型openfile.Filter="pqdfiles(*.pqd)|*.pqd|Allfiles(*.*)|*.*";openfile.RestoreDirectory=true;//检查文件是否存在,路径是否正确openfile.CheckPathExists=true;openfile.CheckFileExists=true;if(openfile.ShowDialog()==DialogResult.OK){this.filename.Text=openfile.FileName;}Stringfilename=openfile.FileName;---------------我想在另一个类中取到这个filenema的值,试了几下另一个类中都为空。
解决方案六:
引用4楼u011052634的回复:

Quote: 引用2楼lihui398的回复:
问题一:在主页面类中定义类变量ToolStripMenuItemcurClickItem,当点击两个平级的ToolStripMenuItem时,把点击的ToolStripMenuItem赋值给curClickItem;问题二:方法1:在类UserOperation定义一个公共的静态的类变量;方法2:每个UserOperation的构造函数都传路径。

这是第一个类中一个方法privatevoidbnt_browse_Click(objectsender,EventArgse){//打开对话框OpenFileDialogopenfile=newOpenFileDialog();openfile.InitialDirectory=Environment.GetFolderPath(Environment.SpecialFolder.Templates);//过滤文件类型openfile.Filter="pqdfiles(*.pqd)|*.pqd|Allfiles(*.*)|*.*";openfile.RestoreDirectory=true;//检查文件是否存在,路径是否正确openfile.CheckPathExists=true;openfile.CheckFileExists=true;if(openfile.ShowDialog()==DialogResult.OK){this.filename.Text=openfile.FileName;}Stringfilename=openfile.FileName;---------------我想在另一个类中取到这个filenema的值,试了几下另一个类中都为空。

classProgram{staticvoidMain(string[]args){//设置初始值UserOperationuo1=newUserOperation("AAAAAAAAAAAA.txt");//获取文件名Console.WriteLine(UserOperation.FileName);//设置初始值UserOperationuo2=newUserOperation("BBBBBBBBBBBB.txt");//获取文件名Console.WriteLine(UserOperation.FileName);UserOperationuo3=newUserOperation();//获取文件名Console.WriteLine(UserOperation.FileName);Console.ReadLine();}}publicclassUserOperation{//定义一个公共的静态的类变量publicstaticstringFileName;publicUserOperation(){}publicUserOperation(stringfileName){FileName=fileName;}}
解决方案七:
引用5楼lihui398的回复:

Quote: 引用4楼u011052634的回复:
Quote: 引用2楼lihui398的回复:
问题一:在主页面类中定义类变量ToolStripMenuItemcurClickItem,当点击两个平级的ToolStripMenuItem时,把点击的ToolStripMenuItem赋值给curClickItem;问题二:方法1:在类UserOperation定义一个公共的静态的类变量;方法2:每个UserOperation的构造函数都传路径。

这是第一个类中一个方法privatevoidbnt_browse_Click(objectsender,EventArgse){//打开对话框OpenFileDialogopenfile=newOpenFileDialog();openfile.InitialDirectory=Environment.GetFolderPath(Environment.SpecialFolder.Templates);//过滤文件类型openfile.Filter="pqdfiles(*.pqd)|*.pqd|Allfiles(*.*)|*.*";openfile.RestoreDirectory=true;//检查文件是否存在,路径是否正确openfile.CheckPathExists=true;openfile.CheckFileExists=true;if(openfile.ShowDialog()==DialogResult.OK){this.filename.Text=openfile.FileName;}Stringfilename=openfile.FileName;---------------我想在另一个类中取到这个filenema的值,试了几下另一个类中都为空。

classProgram{staticvoidMain(string[]args){//设置初始值UserOperationuo1=newUserOperation("AAAAAAAAAAAA.txt");//获取文件名Console.WriteLine(UserOperation.FileName);//设置初始值UserOperationuo2=newUserOperation("BBBBBBBBBBBB.txt");//获取文件名Console.WriteLine(UserOperation.FileName);UserOperationuo3=newUserOperation();//获取文件名Console.WriteLine(UserOperation.FileName);Console.ReadLine();}}publicclassUserOperation{//定义一个公共的静态的类变量publicstaticstringFileName;publicUserOperation(){}publicUserOperation(stringfileName){FileName=fileName;}}

我后来也尝试出来了,在UserOperation中定义一个publicstatic变量就行了。谢谢
解决方案八:
把子窗体的值传回主窗体,然后在传给第二个子窗体。
解决方案九:
引用2楼lihui398的回复:

问题一:在主页面类中定义类变量ToolStripMenuItemcurClickItem,当点击两个平级的ToolStripMenuItem时,把点击的ToolStripMenuItem赋值给curClickItem;问题二:方法1:在类UserOperation定义一个公共的静态的类变量;方法2:每个UserOperation的构造函数都传路径。

朋友对于第一个问题,那个主界面上的按钮内容是单个文件导入privatevoid单个文件ToolStripMenuItem_Click(objectsender,EventArgse)//手动文件导入{curClickItem1;//这里怎么把“单个文件导入的内容”赋值
解决方案十:
其实最简单的方法是,设置全局静态变量,每个界面都可以调用了,不过这个方法仅限于整个项目你自己开发

时间: 2024-11-05 21:38:24

关于c#中怎么引用另一个窗体内变量的问题(两个问题)大神们看看的相关文章

gdi+-GDI+中一个窗体的CDC* pDC实例化两个Graphics对象问题

问题描述 GDI+中一个窗体的CDC* pDC实例化两个Graphics对象问题 代码如下:void CMyCtrl::Draw(CDC* pDC CRect rc){ Pen pen(Color(255 255 255 255)(float)1.5); SolidBrush solidbrush(Color(255 213 213 213)); pen.SetDashStyle((DashStyle)DashStyleSolid); Graphics Test(pDC->m_hDC); Tes

java中网络编程关于使用ObjetInputStream传输报错的问题,求大神指点

问题描述 java中网络编程关于使用ObjetInputStream传输报错的问题,求大神指点 以下贴出来的代码为通过ObjectInputStream(OutputStream)在客户端与服务器端之间交互时传输的对象,提供的图片中一个是客户端的代码片段,一个是服务器端的代码片段. 现在问题出在当客户端输完账号密码点击确定时,客户端卡死(应该是线程阻塞).服务器端抛出异常 :java.lang.ClassNotFoundException: com.wish.data.TransferObjec

Science上发表的聚类算法,C++编程实现,有一个bug不知道怎么解决!!跪求大神!!!

问题描述 Science上发表的聚类算法,C++编程实现,有一个bug不知道怎么解决!!跪求大神!!! include<iostream> include<fstream>using namespace std; typedef struct sourcedata //声明了一个原始数据结构体 { int m; //矩阵的行rows int n; //矩阵的列columns double **data; //保存数据的二维指针 }SourceData; SourceData get

遇到一个棘手的问题,需要java网络编程大神帮忙解答下~

问题描述 遇到一个棘手的问题,需要java网络编程大神帮忙解答下~ 问题是这样的: 我把MINA核心的非阻塞轮训方式的的代码用JDK7的AIO异步IO替换了,现在已经包装完成,测试的时候遇到两个问题: 测试的是这样的,服务端启动后20秒后释放所有资源关闭,客户端启动15秒后释放所有资源关闭,大部分情况下测试都是正常的,但是偶尔会出现客户端服务端都关闭后,再次启动服务的过程后,要么服务端抛出AsynchronousCloseException,客户端抛出远程主机强迫关闭一个现有连接:要么是客户端的

java-Java中多线程同步锁报无效指针异常是何原因,求大神解答!

问题描述 Java中多线程同步锁报无效指针异常是何原因,求大神解答! /* 需求: 使用lock接口实现商品的生产和销售的动态平衡 思路: 1.创建被共同操作的数据类Resource,并通过多态引用分别创建lock和condition子类对象以及资源的获取和赋值方法 2.创建两个相反操作即生产和销售的类同时实现Runnable接口,并覆盖run方法 3.在主函数中,创建资源对象,并作为共同参数分别传递给生产和销售两个线程实现类的构造函数 4.分别将生产和销售类的对象作为参数,传给两个线程,并各自

求解答-做web开发,让我在通知管理加一个级别选择字段和排序字段,求大神帮帮忙~

问题描述 做web开发,让我在通知管理加一个级别选择字段和排序字段,求大神帮帮忙~ 级别就是紧急和一般:排序就是按照1.2.3.4...排序.我做的是web开发,系统通知管理的界面,然后紧急通知,首页的通知变红. 解决方案 数据库中通知表中增加这样一个字段,然后在添加通知的时候,将这个字段管理起来,然后前台aspx页面在显示的时候读取该字段,然后让新闻内容变颜色不就可以了嘛

有关使用cult3d制作一个机械虚拟拆装系统的问题!求助大神 望不吝赐教。。。

问题描述 有关使用cult3d制作一个机械虚拟拆装系统的问题!求助大神 望不吝赐教... 软件中自带了鼠标左键点击触发事件,我制作的效果是:点击了需要拆离的零件,然后被点击的零件会按照我所设定的位移距离,旋转角度和时间离开整体.现在我想问的是能不能将鼠标左键点击触发的形式改为鼠标左键点住零件并拖动离开整体?因为软件里不具备这个功能,要用java写?

string-C# 为什么第一个messageBox可以其他的就不行啊,大神帮忙啊

问题描述 C# 为什么第一个messageBox可以其他的就不行啊,大神帮忙啊 namespace Bank { public partial class Form5 : Form { string str; public Form5() { InitializeComponent(); } public Form5(string s) { this.str = s ; MessageBox.Show(str ); } private void Form5_Load(object sender,

android开发-急!遇到了一个很奇怪的集合问题,在线等大神解答!!!

问题描述 急!遇到了一个很奇怪的集合问题,在线等大神解答!!! 如标题那样,集合A是个全局变量,A是要用来加入集合B中去的.第一次加入没有问题,在第二次A的元素改变之后再次加入到B中去的时候,B中属于A的集合那部分属性的值全部变成A现在的值了.这是为什么呢,在线等大神解答啊.二楼上代码 解决方案 LinearLayout layout6; LinearLayout layout7; LinearLayout layout8; Button mShopping_Car; Button mShow_