如何实现在winfrom的一个面板上打开html并显示呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现在winfrom的一个面板上打开html并显示呢?相关的知识,希望对你有一定的参考价值。

知道的捧个场,谢谢。

Winform的面板没有办法显示html,但是可以通过嵌入浏览器的内核来实现,
如果是ASP.Net平台的话很好实现,可以找找关于“WebBrowser Control”的资料
参考技术A 用WebBrowser控件

[Winfrom] 使用一个启动快捷方式,打开2个不同的窗体并且共用一个缓存空间

之所以有这个功能,是不想再给后台和前台写一套通讯机制的情况下偷懒的办法!

之前发现在主函数里面写方法,第二次启动程序打开新窗体或是显示隐藏窗体!最后却发现在主函数里面打开的新窗体和原启动的程序并不是共享一个缓存的!

于是乎想了一个比较歪的办法,原窗体设置计时器之类的检测变化,利用外部文件的变化,进行窗体的展示、隐藏和打开,这样实际上还是在原程序上打开的新窗体!

外部文件使用什么都可以,文本、config、xml之类的!

这个是写在主函数里面的,用来检测是否二次启动:

Process[] processcollection = Process.GetProcessesByName(Application.CompanyName);
            // 如果该程序进程数量大于,则说明该程序已经运行,则弹出提示信息并提出本次操作,否则就创建该程序
            if (processcollection.Length > 1)
            {
                string ss=ConfigurationManager.AppSettings["MainFlag"];
                if (ss=="0")
                {
                    SetConfigValue("MainFlag", "1");
                }               
            }
            else
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                // 运行该应用程序
                Application.Run(new FormClient());
            }

这个是计时器里的检测:

 string mainflag = GetConfigValue("MainFlag"); 
            if (mainflag == "1")
            {
                SetConfigValue("MainFlag","3");
                FormMain fm = new FormMain();
                fm.Show();
            }

关闭新打开窗体的时候需要标记还原回去。

修改和读取config:

        /// <summary>
        /// 获取AppSettings中某一节点值
        /// </summary>
        /// <param name="key"></param>
        public static string GetConfigValue(string key)
        {
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            if (config.AppSettings.Settings[key] != null)
                return config.AppSettings.Settings[key].Value;
            else

                return string.Empty;
        }

        /// <summary>
        /// 修改AppSettings中配置
        /// </summary>
        /// <param name="key">key值</param>
        /// <param name="value">相应值</param>
        public static bool SetConfigValue(string key, string value)
        {
            try
            {
                Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                if (config.AppSettings.Settings[key] != null)
                    config.AppSettings.Settings[key].Value = value;
                else
                    config.AppSettings.Settings.Add(key, value);
                config.Save(ConfigurationSaveMode.Modified);
                ConfigurationManager.RefreshSection("appSettings");
                return true;
            }
            catch
            {
                return false;
            }
        }

不知道还有没有不利用外部文件的方式,达到这种效果!或者有着更好的方式,欢迎交流指导!!!

以上是关于如何实现在winfrom的一个面板上打开html并显示呢?的主要内容,如果未能解决你的问题,请参考以下文章

在Winfrom 中,如何实现combox 的列表自动显示ToolTip提示 ?

[WinFrom]下载文件并显示进度条的实现代码

[Winfrom] 使用一个启动快捷方式,打开2个不同的窗体并且共用一个缓存空间

winfrom 基类窗体与子类窗体load事件详解

在Winfrom下实现类似百度Google搜索自能提示功能

在jquery mobile中打开面板时如何防止页面被拖动?