CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

如何调用另外一个窗体的控件?

楼主zh830213()2006-03-03 18:45:00 在 .NET技术 / VB.NET 提问

现设计程序有两个窗体,按第一个窗体的button控件弹出第二个窗体(这个功能已经实现)  
  现在的问题是第二个窗体的控件combobox要在第一个窗体上面用该怎么调用啊?  
  如这段VB的代码是form1的代码,现在想改成.NET的,combo_order是form2的控件,在.NET里面该怎么表示,请高手们帮帮忙吧  
   
  Private   Sub   Cmd_query_Click()  
  Dim   Source_str   As   String  
  On   Error   GoTo   Bailout:  
  form2.Show   1    
            If   Len(querystr)   <   3   Then     '没有查询条件  
                  Adodc_island.RecordSource   =   "select   *   from   "   +   Currenttable   +   _  
                  IIf(Combo_order.text   =   "自然序",   "",   "   Order   by   "   +   Combo_order.text)  
             
  End   Sub  
  问题点数:20、回复次数:11Top

1 楼commandosvvv(UnknownData)回复于 2006-03-03 19:10:24 得分 0

在form1中调用form2的控件是吧?  
  dim   form   as   form2=form2  
  form.combo_order.text=........Top

2 楼xiangzhong(刀含梦)回复于 2006-03-03 19:43:00 得分 0

楼主说的ms会有问题,我试过的,还是下面的比较好:  
   
  在form1中调用form2中的controls:  
   
  在form1中如下进行操作:  
          Dim   mParentForm   As   form2  
          Public   Property   setForm()   As   form2  
                  Get  
                          Return   mParentForm  
                  End   Get  
                  Set(ByVal   value   As   fmPropValve)  
                          mParentForm   =   value  
                  End   Set  
          End   Property  
   
  在form2中:  
        dim   newForm1   as   form1  
        newForm1.setForm=me  
   
  Top

3 楼zh830213()回复于 2006-03-03 21:13:53 得分 0

楼上的那两段代码写在那个事件中啊??FORM1_LOAD   和   FORM2_LOAD中??Top

4 楼xiangzhong(刀含梦)回复于 2006-03-03 22:29:22 得分 0

class   form1下面,第一段:  
   
  class   form2下面,第二段Top

5 楼zhouxiaotan(夜雨悠扬)回复于 2006-03-03 23:09:48 得分 0

如果需要使用的话,只要把Form2中的控件的声明该成public的就可以了  
  如这样,Public   WithEvents   TextBox2   As   System.Windows.Forms.TextBox  
   
  这样你new一个Form2就可以直接使用了Top

6 楼qgqchile(qgq)回复于 2006-03-04 15:33:40 得分 0

你的意思是要取得另外一个FORM里控件的值吧  
  如果这样的话上面说的没一个可以用的  
   
  教你一个最简单的办法  
  先用VB6   做一个简单的东西,如   TEXTBOX1.TEXT=FORM1.TEXTBOX2.TEXT  
  这样可以在VB6里运行  
  然后再用.NET把那个VB6的项目打开,.NET会自动生成代码完成VB6应做的事情  
  你自己去分析那些代码吧  
   
  xiangzhong(刀含梦)    说的靠点铺,但会出错Top

7 楼kingdhy(飞鹰)回复于 2006-03-04 15:57:15 得分 0

有更简单的办法:  
  Form2   frm=new   Form2();  
  frm.ShowDialog(this);  
  this.textBox1.Text=frm.Tag.ToString();  
   
  在form2里编写事件给Form的Tag赋值:this.Tag=this.TextBox1.Text  
   
  Top

8 楼kingdhy(飞鹰)回复于 2006-03-04 15:57:55 得分 0

Form.Tag可以在窗体间传递任意类型的参数。Top

9 楼kingdhy(飞鹰)回复于 2006-03-04 15:58:33 得分 0

有更简单的办法:  
  Form2   frm=new   Form2();  
  frm.ShowDialog(this);  
  this.textBox1.Text=frm.Tag.ToString();  
   
  在form2里编写事件给Form2的Tag赋值:this.Tag=this.TextBox1.Text  
  Top

10 楼chenweb(风无声)回复于 2006-03-04 18:27:33 得分 0

将控件或控件值定义为publicTop

11 楼drk928(一起看斜阳)回复于 2006-03-06 17:38:15 得分 0

重载Form2的NEW方法,加上你想传值的参数.  
  dim   C   as   ComBoBox   :dim   F   as   TextBox  
   
  Sub   New(COmbox   as   ComBoBox,FieldValue   as   TextBox)  
    C=COmbox:   F=FiledValue  
  End   Sub  
   
  然后在想传值的过程里对  
  C,F进行传值即可.Top

相关问题

  • 调用窗体控件问题
  • 窗体控件的调用问题
  • 怎样在子窗体中调用MDI父窗体的控件?
  • 代码中调用本窗体另外一个控件的事件的语法是什么?
  • 请教高手子窗体如何调用MDI窗体中的控件
  • [求助]请教高手子窗体如何调用MDI窗体中的控件
  • 求助:关于第二窗体调用第一窗体控件(ListBox)问题
  • 在窗体的静态方法里如何调用窗体的控件
  • VC++中一个窗体调用另一个窗体中的控件
  • 不同窗体的控件调用问题

关键词

  • .net
  • 控件
  • 代码
  • 窗体
  • 调用
  • form2

得分解答快速导航

  • 帖主:zh830213

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo