找回密码
 立即注册

QQ登录

只需一步,快速开始

75139132

注册会员

12

主题

38

帖子

106

积分

注册会员

积分
106
75139132
注册会员   /  发表于:2021-8-12 15:24  /   查看:2806  /  回复:8
c1dockingtab  获取当前窗口 Form form=mainform.selectedtab.findform().

怎么调用form的方法和事件

8 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-12 16:04:05
沙发
强制转换即可

比如默认的Form1 中创建的docingtab

  1. var form = c1DockingTab1.SelectedTab.FindForm() as Form1 ;
复制代码
回复 使用道具 举报
75139132
注册会员   /  发表于:2021-8-12 16:27:15
板凳
dockingtab中有好多窗体  不知道强制转化成哪个啊
回复 使用道具 举报
75139132
注册会员   /  发表于:2021-8-12 16:29:23
地板
dockingtab中打开很对窗体 。要获取当前选中的窗体。并调用选中窗体的方法
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-12 16:39:50
5#
我不明白你说的“dockingtab中有好多窗体”是什么意思,比如下图的dockingtab.SelectedTab.findform()获取到的就是外面的这个Form1主窗体。
FindForm()这个方法是所用Control控件通用的方法,获取到的都是“控件所在的 System.Windows.Forms.Form。”




如果你只是要获取选中的标签页中的控件,那么c1DockingTab1.SelectedTab这个表示的就已经是标签页所在的容器了
比如上图中的buttton,通过c1DockingTab1.SelectedTab.Controls[0],就可以获取到

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
75139132
注册会员   /  发表于:2021-8-12 16:50:36
6#
c1DockingTab1里面打开的form2 窗体 button1 在from2窗体中。form窗体中 有个aa方法 我怎么能调到这个aa方法  。

c1DockingTab1里面可能打开多个标签  里面有多个from
  c1DockingTab1.SelectedTab.Controls[0]是选中的点前窗体么 ?
回复 使用道具 举报
75139132
注册会员   /  发表于:2021-8-12 17:03:39
7#
如图。每个tabpage都是一个窗体  我想获取当前选中窗体  并调用里面的一个方法

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
75139132
注册会员   /  发表于:2021-8-12 17:13:47
8#
c1DockingTab1.SelectedTab.Controls[0],我试了 找到当前窗体了  但是怎么能调用这个窗体的方法?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-12 18:03:14
9#
参考下面的代码即可,通过is判断类型

  1.             Control c= c1DockingTab1.TabPages[0].Controls[0];
  2.             if(c is Form3)
  3.             {
  4.                 Form3 f = c as Form3;
  5.                 //f.xxx();
  6.             }
  7.             if(c is Form5)
  8.             {
  9.                 //f.yyy();
  10.             }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部