zoukankan      html  css  js  c++  java
  • 如何用blend创建自定义窗口

    1 意义

           我们默认创建的窗口样式如下,时常会觉得这窗口太老套,从WINDOWS   98开始就这样,能不能做点改变?

           答案是肯定的,下面就介绍如何创建自己的任意形状的窗口;

    2 原理

           在窗口上面绘制一个闭合图形(圆、path、图片、矩形等),然后设置WindowStyle为none,设置AlowsTransparency为true,这样可以去掉原有风格的最大化最小化、边框、title等元素,得到一个只能看到我们的闭合图形的窗口,再在上面重写最大化、最小化、关闭、拖动等函数即可;

    3 实现步骤

    3.1 新建工程

           新建工程如下图设置;

    3.2 设置窗体对象属性

           在对象和时间栏选择window窗体对象,属性栏将会自动显示窗体的相关属性,找到外观栏展开勾选AlowsTransparency属性,设置windowStyle为none;

    3.3 插入闭合图形

           这里笔者使用两个圆,在实际可使用path、矩形或者插入一张图片都可;调整其背景色;在对象和时间栏选中windows对象,设置其background的alpha值为0。

           现在得出效果如下,这也就是自定义窗口的雏形了:

    3.4 添加功能函数

           添加最大化、最小化、和关闭按钮(注意笔者在这里添加的是自定义的按钮),并为其添加click响应,选中对应按钮,属性面板中选中属性选项卡,点击 事件图标,添加click事件;

    private void clickWinClose(object sender, System.Windows.RoutedEventArgs e)

    {

        // 在此处添加事件处理程序实现。

        this.Close();

    }

     

    private void clickWinMax(object sender, System.Windows.RoutedEventArgs e)

    {

        // 在此处添加事件处理程序实现。

        this.WindowState = WindowState.Maximized;

    }

    private void clickWinMin(object sender, System.Windows.RoutedEventArgs e)

    {

                // 在此处添加事件处理程序实现。

        this.WindowState = WindowState.Minimized;

    }

    到此基本完成了自定义窗口了,运行效果如下:

    3.5 补充说明

           由于笔者没什么美感,所以做出来的窗口丑陋,大家可以自己做出更多漂亮的窗口,特别是用图片。此外大家还可以加上还原按钮、窗体的拖动等功能。

           第一次在博客上写篇像样的文章,希望能对大家有用,另外如果有什么错误的地方,请大家指出,不胜感激!

    作者:家乡的萝卜

    QQ:309284701

  • 相关阅读:
    3Dtouch 的实际应用详解(tableView中的应用)
    使用UIScrollView的zoomscale实现图片捏合放大
    SVN命令使用详解
    参数传递
    cookie文件路径
    XML和HTML之间的差异
    cssSelector元素定位方法
    如何调用一个数据完整的firefox浏览器
    Android生命周期详解
    android 利用countDownLatch实现主线程与子线程之间的同步
  • 原文地址:https://www.cnblogs.com/qiujiahong/p/2388791.html
Copyright © 2011-2022 走看看