首页 > 编程语言 >C# 泛型方法New泛型对象

C# 泛型方法New泛型对象

时间:2024-02-07 11:33:05浏览次数:24  
标签:C# MsgBox frm pnlFrm 泛型 New UIForm true

 

var frm = Activator.CreateInstance<T>();

 

/// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="pnlFrm"></param>
        /// <param name="isQuery"> true调用查询方法</param>
        /// <returns></returns>
        public static bool SetTopUIForm<T>(UIPanel pnlFrm, bool isQuery = true) where T : UIForm
        {
            try
            {
                MsgBox.ShowWaitForm();
                UIForm frm = null;
                foreach (var s in pnlFrm.Controls)
                {
                    if (s is T)
                    {
                        frm = s as UIForm;
                        frm.Visible = true;
                    }
                    else
                    {
                        var f = s as UIForm;
                        f.Visible = false;
                    }
                }
                if (frm == null)
                {
                    frm = Activator.CreateInstance<T>();
                }
                if(isQuery)
                {
                    IQuery iq = frm as IQuery;
                    iq?.QueryMain();
                }
                frm.TopMost = true;
                frm.TopLevel = false;
                frm.ShowTitle = false;
                frm.FormBorderStyle = FormBorderStyle.None;
                frm.Dock = DockStyle.Fill;
                frm.Parent = pnlFrm;
                frm.Show();
                MsgBox.HideWaitForm();
                //pnlFrm.Controls.Clear();

            }
            catch (Exception ex)
            {
                MsgBox.ShowError(ex.Message);
            }
            finally
            {
                MsgBox.HideWaitForm();
            }
            return true;
        }

 

标签:C#,MsgBox,frm,pnlFrm,泛型,New,UIForm,true
From: https://www.cnblogs.com/yuanshuo/p/18010782

相关文章

  • 产品经理的春天 - DuckDB 数据库,了解一下
    产品经理的春天-DuckDB数据库http://duckdb.org/-无需安装,再也不用大数据那边的平台了。-零基础,会SQL就能玩。映射MySQL数据库,直接在本地查询MySQL数据支持跨库Join跟DBA要个账号就完了。#启动DUCKDB./duckdbme.duckdb映射MySQL数据库:ATTACH'host=127.0.0.1user=adminpass......
  • 【多线程例题】使用三个线程,分别可以打印A,B,C。要求实现三个线程协同打印,顺序打印出ABC
    顺序打印-进阶版方法一:三个线程竞争同一个锁,通过count判断是否打印三个线程分别打印A,B,C方法一:通过count计数打印(三个线程上同样的锁,打印一个,召唤所有锁,如果不满足条件,则wait等待,锁自动解锁)方法二:/***有三个线程,分别只能打印A,B和C*要求按顺序打印ABC,打印10次*输出示......
  • 无涯教程-Math.acos(x)函数
    此函数返回x的反余弦值。Math.acos(x)-语法Math.acos(x)x  - 代表数字Math.acos(x)-示例console.log("---Math.acos()---")console.log("Math.acos(0):"+Math.acos(0))console.log("Math.acos(Math.SQRT1_2):"+Math.acos(Math.SQRT1_2))......
  • 基于C#的屏幕鼠标跟随圈圈应用 - 开源研究系列文章
          去年8月的时候无聊,想起博客网页中的鼠标跟随圈圈效果,于是就想用C#在Windows操作系统级别的基础上去开发一个类似的应用,于是有了此文。上次在博问里也发帖咨询了一下(https://q.cnblogs.com/q/143516),但是没得到很好的答案,今天也无聊,于是就把这个应用开发翻了出来进行......
  • docker-compose部署nacos2.3.0+mysql5.7
    docker-compose-nacos.ymlservices:mysql-nacos:restart:alwaysimage:mysql:5.7.18container_name:mysql-lablevolumes:-/Users/docker/mysql/source/mydir:/mydir-/Users/docker/mysql/source/datadir:/var/lib/mysql-/U......
  • vue 监视 watch
    <!DOCTYPEhtml><html><head><metacharset="UTF-8"/><title>天气案例_深度监视</title><!--引入Vue--><scripttype="text/javascript"src="../js/vue.js"......
  • Docker-compose至K8S迁移工具kompose
    参考Github:https://github.com/kubernetes/komposekompose工具用于将docker-compose配置文件转换的k8s可识别的yaml文件安装CentOS安装#yuminstallepel-release#yuminstallkompose使用源安装的版本较老可直接下载#Linuxcurl-Lhttps://github.com/kubernetes/......
  • 前端开发时,什么时候url需要使用encodeURIComponent?
    在前端开发时,当需要将用户输入或者动态生成的字符串作为URL的一部分(特别是查询参数或路径片段)发送到服务器时,应当使用encodeURIComponent函数对字符串进行编码。以下是一些具体场景:查询参数:当你在URL中添加查询参数(queryparameters),例如通过?key=value的形式附加到URL末......
  • [Violation ] Added non-passive event listener to ascroll- blocking ‘mousewheel
    [Violation]Addednon-passiveeventlistenertoascroll-blocking'mousewheel’eventConsidermarkingeventhandleras’passive’tomakethepagemoreresponsive.--控制台报错解决方法这个错误翻译过来的的意思就是:[违规]在ascroll中添加了非被动事件侦听器-阻......
  • Rockchip RK3399 - PCIe
    一、PCIe调试1.1编译内核1.1配置设备树pcie设备节点定义在arch/arm64/boot/dts/rockchip/rk3399.dtsi;pcie0:pcie@f8000000{ compatible="rockchip,rk3399-pcie"; reg=<0x00xf80000000x00x2000000>, <0x00xfd0000000x00x1000000>; reg-names=......