c#如何跨窗体调用非静态函数,获取另外窗体的textbox值?

form1代码

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.Data.OleDb;
using WeifenLuo.WinFormsUI.Docking;

namespace KCTan
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void button1_Click(object sender, EventArgs e)
    {
        Form2.GetModel();
        textBox1.Text = Form2.str;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();
        f2.Show(dockPanel1);
        f2.DockTo(dockPanel1, DockStyle.Fill);
    }







}

}
#form2代码
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 WeifenLuo.WinFormsUI.Docking;

namespace KCTan
{

public partial class Form2 : DockContent
{
    public Form2()
    {
            InitializeComponent();         
    }

    public static String str = "";  //在窗体类里定义静态变量

    public void GetValue()
    {
        str = textBox1.Text;
    }
    public static void GetModel()
    {
        Form2 GM = new Form2();
        GM.GetValue();
    }

}

}
![图片说明](https://img-ask.csdn.net/upload/201706/08/1496909936_42054.png)图片说明

c#

3个回答

form1里面定义的form2,form2的实例为f2,你如果想要form2里面TextBox的内容,不是通过f2.XXX就可以获取到了么。

窗体二里面定义一个Action, public Action callBack;窗体一调用窗体二的时候使用此回调函数并且返回string值。

在一个窗体里面,写一个public List XX = new List();
把这个窗体的值放到XX(.add)里面
再另一个窗体调用 窗体名.XX循环出来就ok了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
跨窗体调用另一个窗体的函数?
弱弱的问一句。基本知识,忘了。。。rnform1中要调用form2 cmd_click()怎么调用
父窗体textbox获取弹出窗体的值
父窗体textbox的值=弹出窗体的值textbox2的值,这样表达,如何写?
父窗体的textbox获取弹出窗体的值
a.aspx页面有一个文本框和一个按钮,点击按钮弹出一个对话框(showmodaldialog打开),b.aspx页面有一个gridview(三列,第一列显示的是radiobutton,第二列显示的是 project_cd,第三列是project_name),显示的是从数据库中检索出来的数据,第一列是放 radiobutton的模板列,选择任意一列的radiobutton后,将project_name返回到a.aspx的文本框中!请问一下该如何实现?能不能具体点,因为在网上看的,都好像不是我所需要的,有例子的话能不能给个例子?谢谢
c# 获取另一窗体textbox的值
在c#中如何做到關閉一個窗体後將textbox1.text賦值給另一窗体textbox1.text,有沒有具体代碼啊?
请问,如何获取另外一个窗体的值?
一个程序,两个窗体,两个窗体各放置一个TextBox控件,现在我想知道如何在第二个窗体中获取窗体1的Textbox.Text复给窗体2的TextBox.Text?rn感谢大家赐教
如何获取窗体上多个textBox的值
我的C#程序窗体上有多个textBox,rn其名称从textBox1 一直到 textBox12 ,rn现在我想将这些textBox的值求和,rn该如何获取他们的值 ?
如何调用另一窗体的textbox的值
我有两个窗体:form1,form2;form1中有textbox1和textbox2,form2中有textbox。rn我想在form2的textbox显示form1中textbox1和textbox2的相乘的结果。rn我初步想的是在form2中编写代码:rnfloat a,b;rna = Convert.ToSingle(textbox1.Text);rnb = Convert.ToSingle(textbox2.Text);rntextbox.Text = Convert.ToString(jqylz * pqylz);rn但是提示:上下文中不存在textbox1,textbox2。rn我知道在一个窗体中这样可以实现,因为设计需要,所以我在这里把问题简单化,由于偶是菜鸟,望各位高手不吝赐教,小弟在此拜谢!
如何跨工程调用窗体?
一个MRP程序,一个附加程序,两个各自编译成EXE,如何在MRP程序中调用附加程序中的窗体或过程?
如何跨窗体调用crystalReportViewer1.
开发环境:VS2008rn我在一个窗体上建立的有crystalReportViewer这个控件,我想在另外的窗体CS文件中对crystalReportViewer进行绑定操作,能做到吗?
C# 如何跨窗体操作
我写了个程序是想rn将一个任务添加至 迅雷中的rnrn但是迅雷这个东西没有提供APIrn我现在能做到 rn在迅雷中rn新建一个任务rnrn然后我想用C#跨窗体操作 迅雷中的那个新建任务窗体 发送一个回车事件rn让迅雷确认这个任务rnrn我该怎么做·?~
跨窗体调用的问题
做一个winform界面,点击form1上的添加按钮打开编辑窗体form2rn问题1:form2上增加的信息怎么添加到在form1中的控件中显示rn问题2:form2怎么调用form1中的方法及属性rnrn主要其实就是两个窗体互相调用的问题,还有一个疑惑是form1和form2是属于什么关系呢?
C#跨窗体参数传递
C#中两个窗体之间的参数传递,在一个窗体的文本框中输入数据,按确定后在另一个窗体中显示。
C#跨窗体操作
如图 C#WINFORMrn[img=http://hi.csdn.net/attachment/201104/22/4546929_1303437886MAuA.jpg][/img]rn上面的Form1是容器,下面的Form2里有个dgv,我想点击上面的 向前 、向后 等按钮 Form2里的选中行可以发生改变。rn请问该怎么做呀 ??rn
一个窗体如何调用另一个窗体的值
我的目的是想修改记录的。 我在A窗体中的子窗体 是记录, 如何通过单击 A窗体的子窗体的记录 ,然后跳转的 B窗体处进行编辑。B窗体 有文本框,来接收 A窗体的 记录。该如何弄?注意,B窗体没有绑定
c# 如何从一个窗体的TextBox访问另一个窗体的TextBox?
比如有一个窗体Form1,里面有个文本框TextBox1;另外一个窗体Form2,里面有TextBox2;如何把Form1中的TextBox1的内容赋给Form2中的TextBox2?
C#窗体应用程序TextBox
C#窗体应用程序中,创建一个TextBox,默认的输入文字会对齐输入框的上边框,字体下方和边框的距离较大,怎么改变成对其下边框呢?rnrn刚刚开始学C#,求教。
c#跨线程跨类调用窗体控件
form1中开启线程thread,thread的方法crossthreadaddnum在类cross中实现在crossthreadaddnum中调用form1中的listbox1
如何调用非静态函数?
如果要用Vc++.net中的rnvirtual int System::Random::Next(int,int)rn产生一个a,b两数间的随机数,要怎么写语句?rn我尝试了int i=System::Random::Next(0,10);rnrn但是出现Error C2352:非静态函数的非法调用
如何跨窗体操作??
我在一个窗体1中用window.open打开一个新窗体2,我要在新窗体2的的按钮按下后,能把输入的信息传给窗体1使窗体1的页面更新,应该怎么做?
如何跨窗体刷新??
我在一个窗体1中用window.open打开一个新窗体2,我要在新窗体2的数据编辑后,能把输入的信息传给窗体1使窗体1的rnrn页面更新,应该怎么做?(主要是窗体1参数变动,比如有时候是xxx.php?name=1,有时候是xxx.php?name=1&id=2,有时rnrn候根本没有参数,如何是窗体1对应着原参数刷新?)
怎么在.net 跨窗体调用
控件,变量
如何调用父窗体的函数?
子窗体的后台,如何调用父窗体后台中函数?rn
如何调用另一窗体的函数
-
如何调用其他窗体的函数
在c#中我有两个Form窗口,form A窗口中有ListView,我想在form B窗口中通过单击Button向form A窗口的ListView中添加数据?请问怎么实现,我form A中把ListView的访问属性也改为public了,编译无错误,但是添加不进去任何数据!请问各位怎么解决这个问题!
c# 跨窗体操作控件
下面的代码演示将窗体 测试 的视图,在窗体 树结构测试 生产树结构 窗体:测试 窗体:树结构测试 树结构测试窗体代码: public static tvtest tv_fm = null; public tvtest() { InitializeComponent(); tv_fm = this; ...
C# winform 跨窗体传值
使用委托实现winform跨窗体传值 高效可重用的窗体 减少窗体类的耦合 比全局变量有很多优势,下载一看便知 源码完整,下载即可运行 vs2005开发
c# 跨窗体操作 委托
利用委托实现2个窗口之间相互操作,供初学者参考。无注释!!!
c# 图片跨窗体拖拽
图片本窗体、跨窗体拖拽,运行时在代码中图片显示更换自己本地的相应图片
C# 跨窗体传值问题!
我想把本窗体中的字符串strselected传给ContractAddForm,是这么写的,但是这句报错rn[code=csharp]rn ContractAddForm contractAddForm;rn ……rn ……rn[color=#FF0000] contractAddForm.strselect = strselected;[/color] rn[/code]rnrn[code=csharp]rn public string strselect get return _strselect; set _strselect = value; rn[/code]rnrn[img=http://img.my.csdn.net/uploads/201304/18/1366291657_6117.JPG][/img]
C#跨窗体更新-委托实例
跨窗体更新-委托实例 跨窗体更新-委托实例 跨窗体更新-委托实例
获取父窗体的值
通过js打开一个子窗体,在jquery中子窗体怎样获取父窗体表单元素的值?
c#如何获取窗体句柄
.dat的窗体的句柄无法获取到,.exe的窗体句柄我能获取的,谁知道.dat的为什么获取不到,有什么方法可以获取到呢
C#中如何跨窗体传值
方法1:和VB中一样,定义全局变量。 首先,先建一个类,再定义一个共有的静态的变量。 public class Class1 { public static int i; } 再建立两个窗体,Form1和Form2。 Form1中: private void button1_Click(object sender, Even
如何调用执行另外窗体的事件
在Form1上添加了两个窗体frmOne、frmTwornrnfrmOne.cs 的代码有 public void delete()rnfrmTwo 的窗体有一个button1, button1_click事件 须调用 frmOne.cs 里的 delete() 方法,如何实现呢?rnrn[code=C#]private void button2_Click(object sender, EventArgs e)rn rn //这里该如何调用frmOne的delete()方法呢? rn [/code]rn
如何调用另外一个窗体的控件?
现设计程序有两个窗体,按第一个窗体的button控件弹出第二个窗体(这个功能已经实现)rn现在的问题是第二个窗体的控件combobox要在第一个窗体上面用该怎么调用啊?rn如这段VB的代码是form1的代码,现在想改成.NET的,combo_order是form2的控件,在.NET里面该怎么表示,请高手们帮帮忙吧rnrnPrivate Sub Cmd_query_Click()rnDim Source_str As StringrnOn Error GoTo Bailout:rnform2.Show 1 rn If Len(querystr) < 3 Then '没有查询条件rn Adodc_island.RecordSource = "select * from " + Currenttable + _rn IIf(Combo_order.text = "自然序", "", " Order by " + Combo_order.text)rn rnEnd Subrn
如何获取另一窗体里面的textbox的值
[b]我在form1中的textbox1已经绑定好了数据库里面的数据字段了rn而且在程序运行时也可以看到数据了rn现在的问题是我在新的窗体form2里面要引用form1里面的textbox1里面的值但是不行rn传出来的是空值,rn代码如下:rn'在form2下rndim f1 as new form1rndim a as stringrna=trim(f1.textbox1.text)rn......rn运行时 a还是空值啊rn不知道是怎么回事????????????rn我利用函数调用还是同样的效果!rn请各位大虾赐教!rn谢谢先! [/b]
窗体之间函数的调用??
我现在有两个窗体rn 一个是mdi 有一个主菜单rn 一个是main 有一个按钮rn 我打开main后 怎么在点击按钮 动态的改变mdi上的菜单rn
C#窗体传递值
我有二个窗体,点击窗体1的label时,跳转到窗体2,在窗体2查询某个值,获取的ID,点击dgv的bottom传递获取的ID到第一个界面,关闭窗体2
窗体中打开另外的窗体
想要的窗体里面再打开一个窗体不知道用什么办法啊刚开始窗体编程,呵呵,有点幼稚吧!帮帮忙吧
C#窗体中的TextBox控件
怎么弄成TextBox控件可以保留原本输入的信息,比如计算器中输入1+1然后一层一层的显示出来第一层一个1,第二层一个+1最后一层答案,这样
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表