WPF去边框与webbrowser的冲突

首先建一个类,比如NativeMethods.cs

class NativeMethods{
    public const int WS_CAPTION=0x00C0000;
    public const int WS_BORDER=0x00800000;
    public const int WS_DLGFRAME=0x00400000;
    public const int GWL_STYLE=-16;
    [DllImport("user32", EntryPoint="GetWindowLong")]
    public static extern int GetWindowLong(IntPtr handle, int sytle);
    [DllImport("user32", EntryPoint="SetWindowLong")]
    public static extern int SetWindowLong(IntPtr handle, int oldStyle, int new Style);
}

然后在你的窗体代码中,比如MainWindow.xaml.cs

public partial class MainWindow : Window{
    IntPtr hwnd=new System.Windows.Interop.WindowInteropHelper(this).Handle;
    int oldStyle=NativeMethods.GetWindowLong(hwnd,NativeMethods.GWL_STYLE);
    NativeMethods.SetWindowLong(hwnd,NativeMethods.GWL_STYLE,oldStyle&~NativeMethods.WS_BORDER&~NativeMethods.WS_CAPTION&~NativeMethods.WS_DLGFRAME);
}

public MainWindow(){
    InitializeComponent();
    this.Loaded+=Window_Loaded;
    //窗体中的其它语句
}

这样就完美实现了外窗口无原生按钮(最大最小关闭),无边框,一点边框都没有。

时间: 2024-10-12 23:56:45

WPF去边框与webbrowser的冲突的相关文章

duilib 的IE浏览器控件去边框和去滚动栏的代码

转载请说明原出处,谢谢~~ 近些天在duilib群里常常有朋友问起,怎么让duilib的IE控件能够去边框.去滚动栏的问题,或者是怎样去控件IE控件的行为.为了避免反复的回答,我就写一篇博文,把处理方法说明一下. duilib中有Webbrowser控件,是继承ActivexUI控件后针对IE进行的封装.使用IE控件的话就用他了. 这个控件留了一个接口名为SetWebBrowserEventHandler,这个函数用了指定一个事件处理器,来控制IE的行为. 而这个函数须要一个CWebBrowse

duilib 的IE浏览器控件去边框和去滚动条的代码

近些天在duilib群里经常有朋友问起,怎么让duilib的IE控件可以去边框,去滚动条的问题,或者是如何去控件IE控件的行为.为了避免重复的回答,我就写一篇博文,把处理方法说明一下. duilib中有Webbrowser控件,是继承ActivexUI控件后针对IE进行的封装,使用IE控件的话就用他了.这个控件留了一个接口名为SetWebBrowserEventHandler,这个函数用了指定一个事件处理器,来控制IE的行为.而这个函数需要一个CWebBrowserEventHandler对象指

WPF 无边框窗体

第一步:去掉那些最大化最小化和关闭 代码如下: WindowStyle="None" 第二步:去掉那边框 代码如下: AllowsTransparency="True" 第三步:拖动窗体 方法:给窗体设置MouseLeftButtonDown事件 代码如下: (1)前台代码: MouseLeftButtonDown="Border_MouseLeftButtonDown_1" (2)后台代码: private void Border_MouseL

extjs frame=true 去边框处理

1 layout : {type:'table',columns :2},                          2 frame : true,                         3 defaults:{ labelAlign:'right'},                         4 border:false, 5 style:"border-color:#000000;border-style:solid;border-width:1px", 

实现的WPF外边框窗体

最近看了一下wpf 越发喜欢. 边看边学,顺便做点东西. WPF 的窗体有点丑.就自己做个窗体,当学习的demo吧 效果图:  实现功能: 最大化;最小化;关闭;按钮三态; 标题栏拖动;双击标题栏最大化或者还原;鼠标在窗体边缘拖动可调整窗体大小; 1. 右上角三个按钮采用样式实现效果 1 <Style x:Key="ButtonIconStyle" TargetType="Button"> 2 <Setter Property="Font

【android】动态添加ImageButton的去边框办法

一句话即可.ImageButton.setBackgroundResource(R.drawable.abc_list_selector_background_transition_holo_light);其中网络上的答案如设置背景图片透明度等不适合动态添加的控件,仍会有不可见的边框存在,使得控件位置偏移.

c# mvc 获取 HtmlHelper 表达式值和时间格式化 去边框

/// <summary> /// 返回没有边框的只读的TextBox标签 /// </summary> /// <typeparam name="TModel"></typeparam> /// <typeparam name="TValue"></typeparam> /// <param name="html"></param> /// <

今天来个爪哇去边框的小代码

//先去除边框 setUndecorated(true); //加入标签作为关闭按钮 JLabel SubCloseLabel = new JLabel(""); //按钮的位置 SubCloseLabel.setBounds(860, 0, 40, 30); //单击监听 SubCloseLabel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { JLab

WPF 无边框button

项目中,有时会需要无边框的Button,如果没有特别的其他功能需要,我们可以更简单的实现这一点: <Button Content="myButton" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"/> 当然,上面的按钮类似于ToolBar风格,移动到上面是蓝色背景. 如果想进一步简单修改,可以用以下方法,实现移动到按钮上出现阴影,按下时内容缩小的功能: <Button Comm