窗体

WINFORM自定义皮肤制作(上)

被刻印的时光 ゝ 提交于 2019-12-09 09:24:47
最近要做个软件正在做技术准备,由于WINFORM生成的窗体很丑陋,一个好的软件除了功能性很重要外,UI的体验也是不容忽视的。习惯性的在网上搜素了下,换肤控件也有好几款,但是有些用起来不是很好用,好点的也要花很多银子哦,而且毕竟是别人写的,心里总不是个滋味,所以决定自己尝试着写写看,花了一个晚上终于做出来了个DEMO,貌似还不错,贴图如下(图片是直接是用的暴风影音的,寒自己一个。。) 下面和大家分享下。 首先分析下皮肤的制作原理,我的理解是把整个窗体(去边框后)划分为9个区域(如果有更复杂的界面,可以划分更多),有图有真相: 然后准备皮肤素材,切图,我的切图如下: 接着可以开工了: 1.初始化图片资源变量 protected int formMinX = 0;//最小化按钮的X坐标 protected int formMaxX = 0;//最大化按钮的X坐标 protected int formCloseX = 0;//关闭按钮的X坐标 protected int formTitleMarginLeft = 0;//标题栏的左边界 protected int formTitleMarginRight = 0;//标题栏的右边界 Image imgTopLeft = (Image)Resources.topleft;//窗体顶部左上角图片 Image imgTopRight =

关于WinForm引用WPF窗体---在Winform窗体中使用WPF控件

假装没事ソ 提交于 2019-12-09 04:28:36
项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能引用WPF控件,怎么可能同样运行在.net Fromework框架下的Winfrom不能运行呢。经过慢慢尝试终于找到一个简单的解决方案,神马反射,神马工厂都是浮云,只需要在Winform项目中引用WPF项目下引用的三个程序集:PresentationCore,PrentationFramework,WindowsBase, 这个时就可以使用WPF窗体类实例中的属性和方法了。 在Winform窗体中使用WPF控件 转自: http://www.cnblogs.com/DebugLZQ/archive/2012/05/19/2508846.html 今天是礼拜6,下雨,没有外出,闲暇就写一篇博文讲下如何在Winform中使用WPF控件。原有是我在百度上搜索相关信息无果,遂干脆动手自己实现。 WPF控件的漂亮是Winform无法匹及的, 本文主旨是在Winform工程中如何使用WPF控件 。 先看下效果,如下图: 左边是传统的Winform控件,右边是DebugLZQ引入的WPF控件,我们可以很清楚的看到图片的“半透明”效果、TextBox的透明背景!界面很Cool吧~ 下面就介绍下

关于WinForm引用WPF窗体

喜你入骨 提交于 2019-12-09 04:28:09
项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能引用WPF控件,怎么可能同样运行在.net Fromework框架下的Winfrom不能运行呢。经过慢慢尝试终于找到一个简单的解决方案,神马反射,神马工厂都是浮云,只需要在Winform项目中引用WPF项目下引用的三个程序集:PresentationCore,PrentationFramework,WindowsBase, 这个时就可以使用WPF窗体类实例中的属性和方法了。 第一次发帖,多多指教。 来源: CSDN 作者: 爱的不落叶 链接: https://blog.csdn.net/wangsui99/article/details/6713273

winform 程序中 调用wpf 窗体

走远了吗. 提交于 2019-12-09 04:22:19
winform 程序中 调用wpf 窗体 1、调用程序 AppDomain domain = AppDomain.CreateDomain( " WpfApplication1 " ); domain.ExecuteAssemblyByName( " WpfApplication1 " ); 2、调用带参数的程序 http://hi.baidu.com/tgaofeit/item/2f252ebe5a882445ba0e12ec posted on 2012-05-28 11:03 daixinet.com 阅读( ... ) 评论( ... ) 编辑 收藏 转载于:https://www.cnblogs.com/sshoub/archive/2012/05/28/2521007.html 来源: CSDN 作者: weixin_30872337 链接: https://blog.csdn.net/weixin_30872337/article/details/99888889

C# 添加dll中的窗体

ε祈祈猫儿з 提交于 2019-12-09 04:14:12
sharp要添加dll中设计的窗体,必须先把窗体添加到工具箱中,具体如下: 工具箱右键->添加选项卡。 选项卡右键->选择项->.net framework 组件->浏览->选择dll,窗口添加到工具箱中,可以使用了 来源: CSDN 作者: atansuozhe 链接: https://blog.csdn.net/atansuozhe/article/details/79203323

c#Winform中调用WPF窗体

血红的双手。 提交于 2019-12-09 03:50:40
在WinForm中是可以使用WPF中的控件(或者由WPF创建的自定义控件) 1.新建一个winform项目; 2.在解决方案上新建一个wpf项目; 如图: 如果有如下错误,就在winform中的引用添加System.xaml的引用即可: 错误 1 类型“System.Windows.Markup.IComponentConnector”在未被引用的程序集中定义。必须添加对程序集“System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。 在winform中添加WPF项目下引用的三个程序集:PresentationCore,PrentationFramework,WindowsBase,以及wpf项目WpfApplication1的引用,如图: 在winform的Form1窗体的cs代码中添加using WpfApplication1的引用: 在winform中添加的button按钮的Click事件中New一下Wpf的窗体show出来即可显示: private void button1_Click(object sender, EventArgs e) { WpfApplication1.MainWindow wpfwindow = new WpfApplication1

在wpf中调用windows From窗体

ぃ、小莉子 提交于 2019-12-09 03:49:01
//如果需要再WPF中显示非模态windows窗体时,需要调用此方法。 //即时不调用此方法,也仍然会显示窗体,但是不能识别所有键盘输入。 System.Windows.Forms.Integration.WindowsFormsHost.EnableWindowsFormsInterop(); 当再WPF中显示windows窗体时,窗体会为按钮或其他通用控件使用旧样式(xp以前的样式)这是因为,为了支持更新的风格,必须明确调用此方法。通常Visual Studio会为每个新建的Windows窗体应用程序的Main()方法添加这行代码。然而,当创建WPF应用程序时,没有包含这一细节。为解决这个问题,只需要再显示所有Windows窗体内容之前调用此方法。当应用程序第一次启动时,是调用该方法的好时机。 System.Windows.Forms.Application.EnableVisualStyles(); /// <summary> /// App.xaml 的交互逻辑 /// </summary> public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); //再WPF中显示非模态windows窗体时

WPF教程(九)窗体

半世苍凉 提交于 2019-12-09 03:30:45
在创建WPF应用的时候,你第一个看到的就是窗体类。它作为窗体的基础,提供标准的边框、工具条、最大化、最小化和关闭按钮。WPF窗体是XAML文件和后台代码文件的混合体。在VS(Express)里面创建一个WPF应用,将会生成一个默认窗体,显示如下代码: <span style="font-size:14px;"><Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> </Grid> </Window></span> x:Class属性指示了该XAML文件使用哪个类,这里默认的是Window1,是VS自动生成的。在VS的项目树里,你会发现它是XAML文件的一个子节点。默认如下: <span style="font-size:14px;">using System; using System.Windows; using System.Windows.Controls; //…more using statements

C# WPF 动态添加窗体

可紊 提交于 2019-12-09 03:28:13
WPF窗口采用默认的Grid布局控件,需要添加其“Name”值为“grid_test”,在grid_test添加按钮和点击响应,代码如下: Button button_day = new Button(); button_day.Height = window_height; button_day.Width = window_width; button_day.HorizontalAlignment = HorizontalAlignment.Left; button_day.VerticalAlignment = VerticalAlignment.Top; button_day.BorderThickness = new Thickness(0,0,0,0); button_day.Background = this.Background; button_day.Margin = new Thickness(10,10, 0, 0); button_day.Content = "test"; button_day.Name = "button_day"; button_day.Click += new RoutedEventHandler(button_day_click); grid_test.Children.Add(window_button_temp.window