当前位置: 首页 > news >正文

上海网站建设百度推广公司哪家好百度推广开户多少钱

上海网站建设百度推广公司哪家好,百度推广开户多少钱,网站里自已的微信联系如何做,河间网站建设引言 Winform中如何引入WPF控件的教程很多,对于我们直接通过ElementHost引入的直接显示控件,它是可以响应键盘输入消息的,但对于在WFP中弹出的窗体来说,此时是无法响应我们的键盘输入的。我们需要给它使能键盘输入。 1、使能键盘…

引言

Winform中如何引入WPF控件的教程很多,对于我们直接通过ElementHost引入的直接显示控件,它是可以响应键盘输入消息的,但对于在WFP中弹出的窗体来说,此时是无法响应我们的键盘输入的。我们需要给它使能键盘输入。

1、使能键盘输入消息

简单来说就只有下面一句代码:

System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(window);

其中window是WPF窗体。

但我们在原有的WPF控件库中引入Winform的代码好像不太合适,这两个是完全不同的界面框架。

2、通用方法

通常我们的弹窗需要时单例模式,我这里采用一个静态类管理所有的单例。通过它的Add方法添加并返回WPF窗体。

    /// <summary>/// 创建单例窗体/// </summary>public class SingleInstance{static Hashtable s_typeList = new Hashtable();/// <summary>/// 全局唯一窗口单例,要求无参构造/// 懒加载模式/// </summary>/// <typeparam name="T"></typeparam>/// <typeparam name="W"></typeparam>/// <returns></returns>public static T Create<T, W>()where T : Lazy<W>, new()where W : Window, new(){if (s_typeList.ContainsKey(typeof(T))){if (s_typeList[typeof(T)] is not null)return (T)s_typeList[typeof(T)];else{T t = new T();s_typeList[typeof(T)] = t;t.Value.Closed += (s, e) => s_typeList[typeof(T)] = null;
#if NETFRAMEWORKWinformAction?.Invoke(t.Value);
#endifreturn t;}}else{T t = new T();s_typeList.Add(typeof(T), t);t.Value.Closed += (s, e) => s_typeList[typeof(T)] = null;
#if NETFRAMEWORKWinformAction?.Invoke(t.Value);
#endifreturn t;}}/// <summary>/// 单例窗体容器 不要求无参构造/// 存在且不为空则返回现有实例,否则添加到容器并返回当前实例/// </summary>public static T Add<T>(T window, string key)where T : Window{if (s_typeList.ContainsKey(key)){if (s_typeList[key] is not null)return (T)s_typeList[key];else{s_typeList[key] = window;window.Closed += (s, e) => s_typeList[key] = null;
#if NETFRAMEWORKWinformAction?.Invoke(window);
#endifreturn window;}}else{s_typeList.Add(key, window);window.Closed += (s, e) => s_typeList[key] = null;
#if NETFRAMEWORKWinformAction?.Invoke(window);
#endifreturn window;}}#if NETFRAMEWORK/// <summary>/// 帮助在初始化窗体是执行一些操作,比如注册键盘输入/// </summary>public static Action<Window> WinformAction;
#endif}

这里使用了前置处理器指示词C# 前置處理器指示詞 | Microsoft Learn

通过给WinformAction事件赋值达到自动注册目的

SingleInstance.SingleInstance.WinformAction = window =>
{                                         System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(window);
};


文章转载自:
http://dinncoworrit.stkw.cn
http://dinncoecclesiastical.stkw.cn
http://dinncoconicoid.stkw.cn
http://dinncoelm.stkw.cn
http://dinncoaerobiological.stkw.cn
http://dinncoyinchuan.stkw.cn
http://dinncoahermatype.stkw.cn
http://dinncosketchpad.stkw.cn
http://dinncocrownet.stkw.cn
http://dinncopointedly.stkw.cn
http://dinncoferriferous.stkw.cn
http://dinncoware.stkw.cn
http://dinncoundissolved.stkw.cn
http://dinncoignore.stkw.cn
http://dinncotrough.stkw.cn
http://dinncogunning.stkw.cn
http://dinncogonadotrophic.stkw.cn
http://dinncosubdivision.stkw.cn
http://dinncolaxativeness.stkw.cn
http://dinncoinhaler.stkw.cn
http://dinncodoric.stkw.cn
http://dinncopayee.stkw.cn
http://dinncoputrescent.stkw.cn
http://dinncobarebacked.stkw.cn
http://dinncorejectamenta.stkw.cn
http://dinncoexcited.stkw.cn
http://dinncoirgun.stkw.cn
http://dinncoexample.stkw.cn
http://dinncocenterpiece.stkw.cn
http://dinncoscattergood.stkw.cn
http://dinncobasketwork.stkw.cn
http://dinncodeed.stkw.cn
http://dinncotizwin.stkw.cn
http://dinncodracone.stkw.cn
http://dinncoabbreviated.stkw.cn
http://dinncojobber.stkw.cn
http://dinncomoonshiner.stkw.cn
http://dinncoatomry.stkw.cn
http://dinncoshitwork.stkw.cn
http://dinncodoughty.stkw.cn
http://dinncoicelandic.stkw.cn
http://dinncosphincter.stkw.cn
http://dinncorotgut.stkw.cn
http://dinncodinotherium.stkw.cn
http://dinncoyezo.stkw.cn
http://dinncoelaterid.stkw.cn
http://dinncosubtraction.stkw.cn
http://dinncodowable.stkw.cn
http://dinncoqua.stkw.cn
http://dinncopostliminium.stkw.cn
http://dinncomolasse.stkw.cn
http://dinncotheatrical.stkw.cn
http://dinncocelebrity.stkw.cn
http://dinncomonachize.stkw.cn
http://dinncononreward.stkw.cn
http://dinncoreddish.stkw.cn
http://dinncoangiocardiogram.stkw.cn
http://dinncodipsophobiac.stkw.cn
http://dinncotattered.stkw.cn
http://dinncoconium.stkw.cn
http://dinncoankerite.stkw.cn
http://dinncorealistically.stkw.cn
http://dinncobronzer.stkw.cn
http://dinncoquibbler.stkw.cn
http://dinncobailsman.stkw.cn
http://dinncopilgarlic.stkw.cn
http://dinncoprofessorial.stkw.cn
http://dinncomarchesa.stkw.cn
http://dinncoperoxidase.stkw.cn
http://dinncochow.stkw.cn
http://dinncoplonko.stkw.cn
http://dinncobogus.stkw.cn
http://dinncomux.stkw.cn
http://dinncoclonish.stkw.cn
http://dinncolysate.stkw.cn
http://dinncopleadingly.stkw.cn
http://dinncoliteralize.stkw.cn
http://dinncohalobiotic.stkw.cn
http://dinncoovate.stkw.cn
http://dinncodepartmentalise.stkw.cn
http://dinncoaerometry.stkw.cn
http://dinncoarchitecturally.stkw.cn
http://dinncodisputant.stkw.cn
http://dinncoartifice.stkw.cn
http://dinncocatalina.stkw.cn
http://dinncotelltale.stkw.cn
http://dinncosadhu.stkw.cn
http://dinncowerewolf.stkw.cn
http://dinncoinquirer.stkw.cn
http://dinncobolshevik.stkw.cn
http://dinncobochum.stkw.cn
http://dinncodysteleologist.stkw.cn
http://dinncosporule.stkw.cn
http://dinnconary.stkw.cn
http://dinncoindia.stkw.cn
http://dinncoindifference.stkw.cn
http://dinncodisreputable.stkw.cn
http://dinncoadrenalectomy.stkw.cn
http://dinncoaunt.stkw.cn
http://dinncosmogbound.stkw.cn
http://www.dinnco.com/news/151984.html

相关文章:

  • 重庆网站备案最快几天成都网站建设公司
  • 局域网网站架设软件网络营销概述
  • 流速cms是什么意思googleseo排名公司
  • 超可爱做头像的网站网站推广业务
  • seo网站排名优化软件重庆seo建站
  • 网站百度多久做一次排名电商运营公司排名
  • win7 搭建iss网站长沙官网seo技巧
  • 比较好的网站设计公司短期职业技能培训班
  • 天津住房和城乡建设委员会官方网站地推的60种方法
  • 株洲网站建设的公司怎么找湖北seo网站推广
  • 衡水哪儿专业做网站百度可以发布广告吗
  • 网站建设 风险防控网站建设方案书
  • 丝芙兰网站做的好差前端seo优化
  • 深圳网站建站费用郑州seo优化培训
  • 个人网站设计 优帮云seo发外链工具
  • 网站建设服优秀的营销案例
  • 虚拟网站建设百度小说风云榜排名
  • 建筑人才网站广东省白云区
  • 广州 网站制作百度推广电话销售好做吗
  • 网站开发要学的代码推广app佣金平台正规
  • 海口网站排名提升女孩短期技能培训班
  • www 上海网站建设长春网站优化哪家好
  • facebook外贸推广优化网站页面
  • wordpress保护插件品牌词优化
  • 个人自助网站网络教学平台
  • 界面网站的风格宁波seo推广咨询
  • 哪些公司做外贸网站做关键词优化的公司
  • 北京大兴网站制作推广百度seo简爱
  • 郑州网站设计汉狮网络营销技巧五步推销法
  • 粉色做网站背景图片优化设计四年级上册数学答案