winform

WPF中使用winform 控件

空扰寡人 提交于 2019-12-09 03:17:05
原来有一个WINFORM项目的功能模块希望集成到新的WPF项目中,怎样集成才最简单? 思路:将原来的WINFORM项目类型改为WindowsFormsControlLibrary类型就OK了。 步骤: 1、所以我们就直接建立一个WindowsFormsControlLibrary项目吧!接着我在该项目中新增Windows Form,为Form1。也就是将原来的项目类型改造为WindowsFormsControlLibrary项目。 2新建Wpf项目 (1)、添加两个引用:WindowsFormsIntegration.dll(负责整合WPF和Windows)、System.Windows.Forms. ( 2)、在 XAML文件中添加两个引用(粗体部分): <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:WinFormHost="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"

C#下WPF中调用WinForm控件

爱⌒轻易说出口 提交于 2019-12-09 03:16:52
最近在C#下调用NPlot生成股票K线图,由于用的WPF框架,而NPlot是基于WinForm开发的。所以不能直接引用。具体做法如下: NPlot源码Microsoft .NET Framework 4.5版 1、引入DLL 创建工程后需要引入WindowsFormsIntegration.dll和System.Windows.Forms.dll两个Dll。WindowsFormsIntegration.dll负责整合WPF和Windows。 2、在xaml中添加命名空间标签 xmlns : WinFormIntegration ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" 3、添加宿主容器 < WinFormIntegration : WindowsFormsHost x : Name ="winFormsHost" Grid.Row ="1" Width ="Auto" Grid.ColumnSpan ="2"> <!--在此添加WinForm控件--> </ WinFormIntegration : WindowsFormsHost > 本例完整的xaml文件: < Window x : Class ="AxyDeal.MainWindow" xmlns =

winform插入ElementHost与wpf之间的互访

£可爱£侵袭症+ 提交于 2019-12-09 03:15:16
今天试了一下发现把wpf和winform程序结合起来使用很容易,细节方面有待研究,假设wpf控件中有这样一个方法: public void playit() { mediaElement1.Visibility = Visibility.Visible; mediaElement1.Position = new TimeSpan(0, 0, 0); mediaElement1.Play(); } 要在winform里调用,就象这样调用就行: private void button1_Click(object sender, EventArgs e) { ((WpfControltest.UserControl1)elementHost1.Child).playit(); } 访问其他成员同理. 来源: CSDN 作者: tmoonlight 链接: https://blog.csdn.net/tmoonlight/article/details/3947572

WPF调用Winform控件具体技巧

∥☆過路亽.° 提交于 2019-12-09 03:13:56
WPF 开发工具可以帮助我们实现许多功能。对于开发者而言,这是一个具有重要意义的开发工具。我们在这里就为大家介绍一下有关WPF调用Winform控件的相关实现方法。 WPF调用Winform控件实现主要分三步: WPF调用Winform控件1、添加两个引用 :WindowsFormsIntegration.dll (负责整合WPF和Windows)、System.Windows.Forms. WPF调用Winform控件2、在 XAML文件中添加两个引用 (粗体部分): < Window x:Class = "CrossBowDemo. MainWindow" xmlns:wfi = "clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" xmlns:wf = "clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" Title = "Hosting

c# Winform/WPF 开发分屏显示应用程序

扶醉桌前 提交于 2019-12-09 03:13:32
分屏显示即可把一台主机内运行的多个程序分别显示在不同的两个(或多个)屏幕上。目前市面上主流的显卡都支持分屏显示(显示双屏幕),如果需要显示2个以上的屏幕,则应使用“拖机卡”类的硬件。 设置分屏显示的两种方法如下: 1、用两个显卡连接两台显示器,进入系统后,分清楚哪一个是主显卡,在桌面空白处右键单击,点属性,然后在窗口中点“设置”选项卡,会看到有两个显示,分别是1(主显卡)和2(副显卡),点击那个2,在下面的“将windows桌面扩展到该监视器”打上对号,确定后,你试着把鼠标往主显示器右边界移动,再移动,鼠标会跑到第二台显示器上去了,这样,同样运行几个程序,分别将它们的窗口拖拽到两个显示器的区域中就可以了,这实际上是将桌面扩展了一下。 2、使用专门的硬件。可以使用“一拖多”的拖机卡,只要将设备插入usb口中,将设备上引出的两个ps/2口分别接鼠标和键盘,主机中还是有两块显卡,然后再装上这个设备的专用软件,重启后,经过简单的配置,即可实现“完全”独立的两个系统。 所谓的分屏或多屏软件,就是把软件中的多个窗体,在主屏幕运行,但是把各个窗体(坐标)移动到各个扩展屏幕位置上如下图所示: 主屏幕 (MainForm) index=0 扩展屏幕1 (Form1) index=1 扩展屏幕2 (Form2) index=... 扩展屏幕3 (Form3) index=...

C# & 在WPF中调用WinForm窗体

六月ゝ 毕业季﹏ 提交于 2019-12-09 03:12:48
问题:如何使用WPF窗体调用winform窗体 解决: 在WPF中引用WinForm项目 效果如图所示: 引用System.Windows.Forms 写调用代码 WinFormUI.frmMain frm = new WinFormUI.frmMain(); frm.Show(); 实例化窗体,然后调用Show()方法即可 注意:如果没有添加引用: System.Windows.Forms ,会调用不出 Show() 方法。 来源: CSDN 作者: 十五期刘晓伟 链接: https://blog.csdn.net/dopdkfsds/article/details/93412133

WPF

狂风中的少年 提交于 2019-12-09 02:59:37
WPF是.net中做界面的技术。 ASP.net用来做网站的项目, WPF,用来替换winform,==XAML技术,相当于桌面、手机、平板电脑开发 winform,微软用来开发桌面程序。 来源: CSDN 作者: 张颖娟-Yue 链接: https://blog.csdn.net/Yue510/article/details/96766050

c#winform开发启示录(创世纪新篇)

五迷三道 提交于 2019-12-07 19:41:22
c#winform可以实现许多软件项目,包括webbrowser等等。 c#语言包括许多开发框架,如 Winform开发框架、WCF开发框架、混合式开发框架,以及相关的模块,包括权限管理、字典管理模块、附件管理、人员管理等一些辅助模块,很多代码都会有重复的部分,优化的框架是想提高效率,减少冗余重复代码,以飨读者,希望能够对大家有一定的参考作用。 one、公用类库的分离处理 我的公用类库是自己开发这么多年的总结、收集和整理,对大多数的类库均进行优化整理过,公用类库的本意是对.NET内置的类库进行包装使用,提高使用效率和减少复杂性,随着开发项目的增多和不断的总结,有时候一些常用的第三方类库包装类也很常见,使用很频繁,经常在各个模块中使用,因此把框架中常用到的类库分为两类,一个是".NET内置类公用类库“,一个是第三方类库的包装类,如我经常用到的Aspose.Cell、Apose.Word、NPOI、Myxls等Office相关类库的包装类,还有Log4Net日志类、Zip压缩类库等等,如图: two、Winform框架基类的封装和独立 在这次的重构工作中,很大程度上是提取所有框架和模块中用到的各种基类到一个第三方类库包装类里面,然后在框架里面统一使用这个类库,如原来数据访问里面常用到的BaseBLL、BaseDAL、IBaseDAL、AbstractBaseDAL

Xceed WinForm数据表格控件Xceed Grid For .NET详细介绍

独自空忆成欢 提交于 2019-12-07 08:42:16
Xceed Grid For .NET是一款高级的,多功能的、扩展性极强的数据表格控件,具有分组、主从表、多种主题外观、固定列和行、Excel导出、支持Vista风格,交互的外观样式,内嵌报表功能,支持导出为PDF、HTML、TIFF、JPEG,以及打印报表等多种功能,是现在业界最强大的表格控件。 特殊功能: 控件使用Cell UI虚拟化,大大提高了表格数据加载性能,减少了内存花销,表格加载10列10000数据行比以前快了3倍,内存花销少了55%。 如果控件使用懒加载加载数据,比以前快了15.75倍 该控件被Microsoft Dynamics in Microsoft Office所使用 完全所见所得的设计时表格编辑器,完全设计时设计表头、列,分组,主从表、插入行等操作 可以指定任何Windows Form控件作为单元格编辑器 控件提供的所有类都是可继承的,开发人员完全可以根据自己需要扩展表格功能 每一个可视的表格元素都是独立的对象,具有自己特殊行为,像一个独立的子控件:单元格、行、列、分组、行选择器,表头等,都具有自己的鼠标、快捷键、绘制事件,可以被自定义对象所取代 表格可以作为一个强大的绑定和非绑定树型控件所使用,不限制层和子元素 各式各样专业的行、单元格以及管理对象允许你合并文本以及图像 提供了两种方法进行自定义绘制表格元素:一种是添加代码到控件原来的绘制事件里

WinFrom和WebFrom的区别

前提是你 提交于 2019-12-07 07:46:20
原文链接: https://blog.csdn.net/sloder/article/details/6145169 一是Winform的定位机制没有Webform丰富,web里有table,div(浮动、层),Winform里的定位大多采取绝对定位,比较麻烦。而且webform可以采取相对定位,还可以用百分比的比例尽度,而winform里最多可以用下duck和anchor做下相对定位。 二是Winform里大多数情况会用到多线程操作,而webForm里很少用到,比如有大批量数据需要后台处理,则需要多线程处理。多线程编程考虑的问题很多,经常要做线程之间的调用,有些麻烦。最近碰到问题是,在Timer的事件(独立线程)里,让线程停顿了,弄的主线程好卡。找不到原因,后来才发现,在Timer的线程里最好不要让线程Sleep,这会严重影响主线程的性能,比如ToolTip的显示。 三是渲染方式。明显感觉Winform和Webform的方式不一样,当窗体发生变化时,Winform程序会把窗体下所有控件进行重绘,很耗性能;而基于浏览器的模式似乎只刷新需要更改的控件,对性能不会有大的影响。当系统中有大量图片时,Winform和Webform的性能就可以看的出来。 来源: https://www.cnblogs.com/qiupiaohujie/p/12000499.html