winform如何让弹出窗口始终置于程序最顶层
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform如何让弹出窗口始终置于程序最顶层相关的知识,希望对你有一定的参考价值。
如果将TopMost属性为True,这个窗口就是置于所有windows窗口的最顶层。我不是要这个效果。只要咬置于该程序的最顶层就可以了。
忘了还得补充一下,ShowDialog也不行。因为我需要在弹出窗口弹出后,操作下面的母窗体。
安卓,控件置于窗口顶层,控件置顶
布局文件
imgview_home.xml
~~-~~
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/home_home_top"
android:background="#50E911"
android:layout_width="50dp"
android:layout_height="50dp"/>
main
~~--~~
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
0, 0,
PixelFormat.TRANSPARENT
);
//这句话会阻止软键盘弹出,换成 layoutParams.flags= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;就好了。
layoutParams.flags= WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
// type 设置 Window 类别(层级)
layoutParams.type = WindowManager.LayoutParams.TYPE_TOAST;
//位置
layoutParams.gravity = Gravity.CENTER_HORIZONTAL;
layoutParams.gravity = Gravity.BOTTOM;
//边距
layoutParams.y = 25;
View view3 = LayoutInflater.from(this).inflate(R.layout.imgview_home,null);
ImageView imageView = view3.findViewById(R.id.home_home_top);
imageView.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View view)
Toast.makeText(this,"回到主页",Toast.LENGTH_LONG).show();
//home键方法
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
);
WindowManager windowManager = this.getWindowManager();
try
windowManager.addView(imageView,layoutParams);
catch (Exception p)
以上是关于winform如何让弹出窗口始终置于程序最顶层的主要内容,如果未能解决你的问题,请参考以下文章
QML Popup弹窗置于最顶层,实现点击位置该弹出窗口下方的任何其他层组件,Popup弹窗都不会关闭