Windows的刘海生成器

其实是很早之前在论坛讨论当时苹果率先推出了带刘海的 mac book pro 的时候,就花了几分钟做了一个模拟刘海的软件,可以给 Windows 系统加上刘海。

展示

详解

给Windows加上刘海,解析一下,就是需要一个黑色的窗口放置在屏幕的上边沿,并且需要设置为置顶显示,防止被别的应用盖住。

开发Windows应用,并且需要自定义窗口形状,肯定首选WPF框架,设置两个窗口,一个为设置窗口用来设置刘海的形状数据,另一个就是具体的刘海显示窗口。

刘海

上面已经解析过刘海窗口的实现原理,接着看一下具体的实现代码。首先是取消默认的窗口样式,设置 WindowStyle 属性为 None 。搭配着设置 AllowsTransparencyBackground 的值,分别为 True 和透明色。然后是设置 ShowInTaskbarFalse,取消窗口在任务状态栏的显示。最后通过设置 Topmost 属性来将窗口置顶显示。

窗口内部通过 Border 组件来构建自定义形状,通过设置 CornerRadius 属性来设置窗口的圆角。关于圆角可以查看这篇文章

如果为了逼真的效果,还可以考虑在窗口内部显示摄像头的图片来增加真实效果

<Window x:Class="Demo.XWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Demo"
        WindowStyle="None" 
        AllowsTransparency="True"
        Background="Transparent"
        mc:Ignorable="d" 
        Loaded="Window_Loaded"
        ShowInTaskbar="False"
        Topmost="True"
        Title="刘海" Height="50" Width="200">
    <Border Margin="4,0,4,4" Background="Black" CornerRadius="0,0,10,10">

    </Border>
</Window>
发布时间:2025-01-18
其他阅读

使用中间件记录网站访问日志记录

对于网站访问日志的记录,一般情况下都是使用现有的日志服务,比如谷歌分析引入轻量 js 文件即可。本文主要介绍对于现有的 Asp.Net Core 网站使用中间件快速记录访问日志。使用中间件的好处:在服务端进行处理,无视客户端类型(特殊信息无法获取);统一处理,不需要对每个地址重复处理等。

查看原文

解决ssh登录后闲置一段时间断开

最新新买了一台服务器,使用 ssh 登录之后发现一段时间没有输入就会自动断开,这里记录一下解决方法。

查看原文

C#获取电脑的网卡地址

使用C#开发Windows应用,需要进行特定网卡绑定的时候我们需要获取电脑本机的网卡地址,本文会介绍几种获取电脑网卡地址的方法。

查看原文

个人简介

你好,我是猪头少年,是一名定居在云南的软件工程师,主要的开发语言为 C#JavaScript,涉及 ASP.NET CoreWPFAngularUnity 以及 Babylon.js。平时喜欢自驾出游。欢迎大家联系我。

查看原文

WPF中创建一个矩形圆角动画

WPF 中内置了好几种动画,大多数场景可以坐到开箱即用,不过并没有内置 CornerRadiusAnimation ,本文将会介绍怎么实现一个 CornerRadiusAnimation 动画,实现 BorderCornerRadius 属性动画效果。

查看原文