wpf(windos窗体)】的更多相关文章

在windos窗体中可以放置各种控件,以及为控件定义事件等等,而窗体的显示可以通过show方法以及showdialog方法.他们的区别是 show:运行程序的时候弹出新窗体,而该新窗体会一闪而过,最小化,然后接着运行下面的程序,不会考虑新窗体的中控件的操作对下面程序的影响. showdialog:弹出窗体的时候将程序中断在新的窗体,它的操作会对下面的程序产生影响,从而使新窗体影响下面运行的效果. 窗体的生命周期: 首次打开窗体为活动窗口并引发Activated 事件,之后接着引发 Loaded …
WPF自适应窗体实现小结 这几天,因工作需要,要对一个小软件进行UI调整.主要内容就是让其能够实现自适应窗体(包括文字和图标),做成像WIN7下的Media Center一样的UI.自适应窗体,顾名思义,就是窗口内容的显示大小能够随着窗口的大小变化而变化.今天我来说说如何用WPF来实现自适应窗体. 首先WPF是微软推出的新一代视窗系统,用来代替MFC.用MFC来实现自适应窗体,需要捕获Resizing事件,然后对窗口内容大小进行逐一调整,还是比较麻烦的.但是WPF不同,因为WPF自带的Layou…
原文:[小结][N种方法]实现WPF不规则窗体 WPF实现不规则窗体,方法很多很多多.... 本文总结DebugLZQ认为简洁高效的几种方法 实现WPF不规则窗体的几种常用的方法如下: 1.使用Blend等工具绘制一想要的窗体.这个可以参考xiaowei0705的这篇博文:WPF制作不规则的窗体 . 2.给window的Clip属性赋Path值.这个可以参考DebugLZQ前面的博文:WPF Effect Clip以及Transform . 3.使用透明背景的PNG图像. 4.为Window主容…
WPF实现窗体中的悬浮按钮,按钮可拖动,吸附停靠在窗体边缘. 控件XAML代码: <Button x:Class="SunCreate.Common.Controls.FloatButton" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmln…
原文:WPF透明窗体制作 窗体的样式: <Grid Width="{Binding Width, ElementName=w}" Height="{Binding Height, ElementName=w}"> <Border CornerRadius="5" Margin="10" BorderThickness="2" BorderBrush="White" Op…
微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. .NET CORE(C#) WPF亚克力窗体 阅读导航 本文背景 代码实现 本文参考 源码 1. 本文背景 本文介绍使用FluentWPF控件库实现亚克力效果的窗体. 2. 代码实现 使用 .Net Core 3.1 创建名为 "AcrylicWindow" 的WPF模板项目,添加三个Nuget库:MaterialDesignThemes.MaterialDesignColors和…
效果: 1. 点击WPF主窗体上的一个按钮,弹出子窗体, 2. 窗体最小化后,在菜单栏中点击子窗体,会连带显示它所从属的主窗体. 1. 在WPF项目中,已有主窗体MainWindow,再新建子窗体ChildWindow: 2. 在主窗体的按钮单击事件的处理程序中: 1 private void Button2_Click(object sender, RoutedEventArgs e) 2 { 3 var childWindow = new ChildWindow(); 4 5 //写法一:代…
这个问题纠结了两天,今天在一个朋友的帮助下,解决了,其实很简单,但是可能作为新手,接触WPF时间还是短,因此作为一个问题困扰了我. 父窗体部分代码 private void EditInformation_Click(object sender, RoutedEventArgs e) { this.Visibility = Visibility.Hidden;//父窗体隐藏 Page.ALLEdit AE = new Page.ALLEdit(); AE.Owner = this;//指定子窗体…
wpf ,PNG图形半透明窗体 ,使用webbrowser控件   附件:http://files.cnblogs.com/xe2011/WpfApplication1_webbrowser_transparent.rar               MainWindow1.XAML <Window x:Name="MainWindow1" x:Class="WpfApplication1.MainWindow"         xmlns="htt…
比较简单的一个小功能,和新毒霸类似的效果. 效果代码: bool closeStoryBoardCompleted = false; DoubleAnimation closeAnimation1; void closeWindow_Completed(object sender, EventArgs e) { closeStoryBoardCompleted = true; this.Close(); } private void Window_Closing(object sender, S…
初试WPF样式,感觉还不错.上篇写完了按钮的样式下面写窗体,废话不多说直接上代码: (1)定义一个窗体样式"MyWpfWindow" <Style x:Key="MyWpfWindow" TargetType="{x:Type Window}"> <Setter Property="AllowsTransparency" Value="true"/> <Setter Prope…
一 基本功能 1. 这里是用 NotifyIcon 控件来实现,但 WPF 下没有 NotifyIcon  控件,怎么办,用 WinForm 下的呗. 先引用  .NET 自带的两个程序集 System.Windows.Forms 是用来使用 NotifyIcon 控件的:System.Drawing 是用来引用图标文件的 2. 图标 3. 设置图标属性 4.这里很重要,因为程序运行后,会在运行程序目录下去找图标文件,这样设置后就会在应用程序目录下生成对应的文件,如果不设置,到时候出错就找不到原…
Microsoft Expression Design 4 导入做好的login.Png图片 调整美工板大小 导出,右边格式为XAML WPF 资源字典,实时效果为XAML效果 文件名login.xaml和位置 Microsoft Visual Studio 2010 项目添加现有项Design4导出的login.xaml文件,Png图片 test.xaml里设置x:key="login" ImageSource="login.png" App.xaml里添加<…
wpf的子窗体选择有很多种,如最常见的是项目新建窗体(Window)作为子窗体 ,或者新建wpf用户控件(UserControl).而其实利用Xceed.Wpf.Toolkit.dll 可以轻松布局如下: 第一步:引用Xceed.Wpf.Toolkit.dll. 第二步:在XAML引用名称空间: xmlns:xctk="clr-namespace:Xceed.Wpf.Toolkit.Primitives;assembly=Xceed.Wpf.Toolkit" xmlns:wpf=&qu…
步骤 1.添加WindowsFormsIntegration.dll .System.Windows.Forms.和System.Xaml,PresentationCore.PresentationFramework的程序集引用 2.从WPF项目复制一个XAML页面过来. 3.就可以窗建XAML的窗体对象了 记得命名空间要加上哦…
遇到的问题信息 问题:当WindowStyle=None时,窗口最大化,不显示任务栏 -- 即窗体是全屏效果. 解决中遇到的问题列表[主要涉及到任务栏发生改变后的一些问题处理]: 最大化时,任务栏被遮盖: 最大化后,拖动任务栏,无法自适应窗体: 最大化后,拖动任务栏,窗体还原,还原数据丢失,始终显示最大: 最大化后,拖动任务栏,窗体还原,设置之前保存的窗体位置数据,再次设置,由于和之前一样,窗体位置信息不生效: 解决方案 思路:窗体最大化时,将窗体透明化,设置内部元素Grid的Margin属性,…
需求:打开WPF项目后,展示3秒钟产品Logo后,进入主界面MainWindow.(类似于安卓应用打开时的闪屏页SplashPage) 思路:在进入MainWindow后新建一个Window窗体,窗体的背景设置为Logo图片,窗体设置为最大化.Z轴置顶.不可调整宽高.不显示状态栏.设置一个DispatcherTimer定时器,3秒后关闭窗体. MainWindow.xaml.cs 后台代码的主要逻辑: private Window window; public MainWindow() { In…
方案一 WPF中的无边框透明窗体,由于没有边并且透明,窗体无法进行缩放操作,今天来讲解如何解决这个问题. 先说一下思路,我们先手为该窗体添加4个边,4个角用于缩放操作,然后再为他们写事件,完成拖放操作. Xaml文件 <Window x:Class="UniversalRobot.Window2" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="ht…
1. 在WPF中当将主窗体的WindowStyle设置为none时,使用鼠标移动不了窗体 2. 解决方法: 2.1. 在Windows的Load方法中增加一下代码: private void Window_Loaded(object sender, RoutedEventArgs e) { this.MouseDown += delegate { DragMove(); }; } 2.2. 重写主窗体的 OnMouseLefButtonDown()方法: protected override v…
问题: 近段时间,由于项目上的一些原因,设计到在WPF项目使用引用COM组件的问题,部分WPF元素浮动在COM组件之上,并且实现拖.停靠.放大等功能(子窗体不要求等比缩放,只要位置跟随主窗体即可),如图: 如何实现: 方式1: 1.子窗体相对父窗体定位,通过父窗体LocationChanged事件,保持子父窗体相对位置 2. 并且使用Topmost="True",使子窗体置于父窗体之上    3. Application.Current.Deactivated 与 Applicatio…
要想在WPF窗体中实现不同页面切换,我们就需要用到ContentControl这个控件,这个控件的位置和大小就是你要显示页面的位置和大小. 下面举例说明: Xaml: <Grid> <Button Content="Page1" HorizontalAlignment="Left" Margin="21,20,0,0" VerticalAlignment="Top" Width="75"…
在WPF中有时候我们需要在一个窗体中去调用另外的一个窗体,下面给出调用方法. 下面实现在MainWindow中通过点击一个按钮调用另外的一个窗口. 首先创建你要调用的另外一个窗口:点击最上面的项目  然后选中添加窗口  窗口名设置为Window1(这里随你自己设置名字) 然后在MainWindow里面的Xaml代码: <Grid> <Button Content="Button" HorizontalAlignment="Left" Margin=…
WPF如果存在窗体(或至少,在任务栏有图标显示),互相传递消息是很容易的. 寻找目标窗体句柄->WindowsAPI SendMessage/PostMessage->目标窗体AddHook.参见:C# WPF 窗体传递消息 但是,如果窗体不存在,比如说,最小化的时候仅显示一个tray icon,连任务栏的图标都不能用,这个流程就不管用了.因为此时无法获取到目标窗体的句柄. 到达到这个要求,还有几种不同的方法: 1.管道.因为就在本机传递消息,所以匿名管道/命名管道都可以满足要求: 2.TCP…
WPF程序通常情况下没办法修改窗体标题栏的样式,包括标题栏的背景颜色. 不过借助一个叫Fluent.Ribbon的第三方控件,貌似可以修改标题栏的背景颜色. 可以通过NuGet来安装这个控件:Install-Package Fluent.Ribbon 修改App.xaml代码: <Application x:Class="WpfDemo.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentati…
最近发现:自己开发的窗体应用,在二级弹窗或者提示框弹出的时候,交替点击窗体和窗体外(相当于窗体交替的获取焦点和失去焦点),都会导致其他的应用一闪一闪的. 经过排查,是由于该窗体由于部分因素考虑,用了 SetWindowPos 来替代 Topmost用于主窗体的置顶 [DllImport("user32.dll", SetLastError = true)] public static extern bool SetWindowPos(IntPtr hwnd, IntPtr hWndIn…
父窗体代码 private void DGUserEdit() { if(DGUser.SelectedItem!=null) { DataRow dr = (DGUser.SelectedItem as DataRowView).Row; Page.UserEdit UE = new UserEdit(UserGrade, dr["UserName"].ToString());//声明子窗体 UE.Closed += new EventHandler(UE_Closed);//注册关…
首先创建自定义窗体的资源文件 <ControlTemplate x:Key="BaseWindowControlTemplate" TargetType="Window"> <Grid> <Grid.Background> <ImageBrush ImageSource="Images/MainBackground.png" Stretch="Fill"/> </Grid.…
窗体: IntPtr hwnd = new WindowInteropHelper(this).Handle; 控件: IntPtr hwnd = ((HwndSource)PresentationSource.FromVisual(uielement)).Handle;…
<Window x:Class="WpfAppFirst.Evaluation" 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/…
窗体属性中设置:Background="Transparent" AllowsTransparency="True" WindowStyle="None"注:单独设置 Background="Transparent" 窗体默认显示为黑色.…