winform中让显示的图片覆盖到父窗体保持父窗体的不可选中的状态,且任务栏中不会显示子窗体的任务选项
Posted yujunxiaobai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform中让显示的图片覆盖到父窗体保持父窗体的不可选中的状态,且任务栏中不会显示子窗体的任务选项相关的知识,希望对你有一定的参考价值。
要求:为父窗体添加一个类似于加载等待的功能,当窗体点击备份时弹出且覆盖掉窗体
问题一产生:当为弹窗添加控件时,form.show();导致窗体卡死,控件变得透明化;
问题一分析:当窗体show();之后socket方式的传输方式,使线程卡死了,导致弹窗窗体为加载完全就卡死了;
问题一解决:将备份的代码重新开启一个线程进行操作,使主窗体的代码不会卡死
注意:可能会产生跨线程访问问题,注意善用this.invoke(new Action());来解决问题;
问题二:弹窗窗体会被覆盖导致主窗体可能被操作;
问题二分析:由于弹窗窗体和子窗体无层级关系,属于平级,导致窗体没有明显的分层界限
问题二解决:为弹窗窗体的.show(this);属性添加参数,该参数为主窗体的this来代表主窗体本身,或者设置弹窗窗体的.owner属性等于this,
注意:搜索发现,网上有一个使用topmost=ture;的方法,该方法的使用是使该窗体显示到所有的窗体之上,类似于wx的显示方式
问题三:让弹出窗体不会显示到windows的任务图标中
问题三分析:窗体有一个叫showInTaskbar要对他进行设置
问题三解决:showInTaskbar设置为false;
以上是关于winform中让显示的图片覆盖到父窗体保持父窗体的不可选中的状态,且任务栏中不会显示子窗体的任务选项的主要内容,如果未能解决你的问题,请参考以下文章