using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Windows.Forms; namespace Samples
{
public partial class Controller : Component
{
public Controller()
{
InitializeComponent();
} public Controller(IContainer container)
{
container.Add(this); InitializeComponent();
} [Browsable(false)]
public virtual Form OwnerForm
{
get { return _ownerForm; }
set { _ownerForm = value; }
}
Form _ownerForm = null; public override ISite Site
{
get { return base.Site; }
set
{
base.Site = value;
this.OwnerForm = FindForm();
}
} Form FindForm()
{
IReferenceService referenceService = (IReferenceService)GetService(typeof(IReferenceService));
if (referenceService != null)
{
// 取得组件所在的窗体对象
object[] parent = referenceService.GetReferences(typeof(Form));
Form form = parent[] as Form;
return form;
} return null;
}
}
}

如何在组件(Component中)模拟用户控件(UserControl)中FindForm()?的更多相关文章

  1. C#中,用户控件UserControl里面用Panl加载UserControl,并实现利用委托互相传值

    用户控件主窗体结构:左侧树形菜单,右侧Panl: 根据点击的菜单节点,panl里面选择性加载某一个子窗体用户控件,并传值给子窗体: 反之,在子窗体进行相应的操作之后,传值给主窗体,触发主窗体的刷新. ...

  2. ASP.NET MVC 中使用用户控件——转

    讲讲怎么在 ASP.NET MVC2中使用用户控件.首先我们新建一个用户控件,   我们命名为SelectGroup.ascx,代码如下 <%@ Control Language="C ...

  3. 在VisualStudio 工具箱中隐藏用户控件

    当我们创建一个用户控件后,VisualStudio会自动将其添加到工具箱中,本来这是一个比较贴心的设计.但是,有的时候,我们并不想将用户控件放到工具箱中. 例如:在WPF中,为了避免一个页面的控件过多 ...

  4. WindowsXamlHost:在 WPF 中使用 UWP 控件库中的控件

    在 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit) 一文中,我们说到了在 WPF 中引入简单的 UWP 控件以及相关的注意事项 ...

  5. 用户控件(UserControl)

    简介 "用户控件"继承自UserControl,而UserControl继承自ContentControl,也就是内容控件UserControl和Window是一个层次上的,都有x ...

  6. C# WinForm中添加用户控件

    转:https://blog.csdn.net/haelang/article/details/40681003 有的时候我们需要频繁使用一些系统默认工具的组合,那么就可以使用自定义用户控件. 起一个 ...

  7. 如何在Web.config中注册用户控件和自定义控件

    问题: 在ASP.NET 的早先版本里,开发人员通过在页面的顶部添加 指令来引入和使用自定义服务器控件和用户控件时,象这样: <%@ Register TagPrefix="scott ...

  8. C# winform中自定义用户控件 然后在页面中调用用户控件的事件

    下面是用户控件的代码: using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...

  9. Web页面获取用户控件页面中服务器控件的值

    用户控件页面后台: public string P_Name{get { return txt_P_name.Value; }set { txt_P_name.Value = value; }} We ...

随机推荐

  1. OpenJudge计算概论-比饭量【枚举法、信息数字化】

    /*====================================================================== 比饭量 总时间限制: 1000ms 内存限制: 655 ...

  2. expression encoder 4 安装 出现“已经安排重启您的计算机

    问题: expression encoder 4  安装 出现“已经安排重启您的计算机 解决的办法,注册表数据的修改 开始 运行 regedit HKEY_LOCAL_MACHINE\SYSTEM\C ...

  3. TKinter布局之pack

    pack布局非常简单,不用做过多的设置,直接使用一个 pack 函数就可以了. 1.我们使用 pack 函数的时候,默认先使用的放到上面,然 后 依次向下排,它会给我们的组件一个自认为合适的位置 和大 ...

  4. JVM通过代理服务器连接网络的参数设置

    -DproxySet=true-Dhttp.proxyHost=your.proxy.net-Dhttp.proxyPort=8080

  5. windows 2003 server 远程桌面禁用本地资源,磁盘驱动器,串行口,复制文件

    首先进入组策略编辑器(开始-运行-gpedit.msc) 不要让用户在远端桌面和本地直接拷贝文件在远端桌面上进入它的组策略编辑器在 计算机配置->管理模板->Windows组件->终 ...

  6. DIV+CSS命名规范-转载2

    一.CSS文件及样式命名1.CSS文件命名规范 全局样式:global.css: 框架布局:layout.css: 字体样式:font.css: 链接样式:link.css: 打印样式:print.c ...

  7. phpcms日期时间

    PHPCMS V9调用时间标签 |日期时间格式化 转载 2016-06-17 14:58:54 标签:php PHPCMS V9 如何调用时间标签,下面分享常见的调用时间标签 |日期时间格式化 1.日 ...

  8. 09 Mysql数据库在Linux下的使用

    1. 创建数据库 1.1 启动Mysql [root@localhost ~]# mysql -h127.0.0.1 -uroot -pmysql Warning: Using a password ...

  9. apidoc,一个相当不错的文档生成器

    http://apidocjs.com/ 例子:myapp目录下的MyCode.java /** * * @api {get} /company/list 获取公司信息 * @apiName 获取公司 ...

  10. ResultSet的getInt(),getString()方法

     数据库tt的examstudent数据表如下:   在MySQL中执行查询语句如下: ResultSet rs = null; String sql="SELECT flow_id,Typ ...