C# WPF FontDialog字体对话框,ColorDialog颜色对话框 引用
WPF 并没有内置FontDialog和ColorDialog,但可以通过引用 Windows Forms 的控件来实现字体和颜色选择对话框功能。FontDialog 允许用户选择字体、样式、大小等设置。
添加 Windows Forms的引用
- 项目工程:右键“引用”=》“添加引用”=》勾选System.Windows.Forms

- 浏览选择System.Windows.Forms.dll动态库文件
默认路径:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework

3.添加成功

- 在C# WPF应用程序中,不能直接使用System.Drawing.Font,因为System.Drawing.Font是Windows Forms的一部分,而不是WPF。WPF使用System.Windows.Media.FontFamily来表示字体。需要做相应的转换才可以使用;
- WinForm中的Color( System.Drawing.Color)与Wpf中Color(System.Windows.Media.Color)也需要要相互转换才能使用;
代码示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Forms;namespace WpfColorFontDialog
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();}private void btnSetFont_Click(object sender, RoutedEventArgs e){System.Windows.Forms.FontDialog fontDialog = new System.Windows.Forms.FontDialog();if (fontDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK){// System.Drawing.Font DFont = new System.Drawing.Font("宋体", 10, System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic);System.Drawing.Font drawingFont = fontDialog.Font;FontFamily fontFamily = new FontFamily(drawingFont.Name);double fontSize = drawingFont.Size;FontWeight fontWeight = FontWeights.Bold;if (drawingFont.Bold){fontWeight = FontWeights.Bold;}else {fontWeight = FontWeights.Normal;}FontStyle fontStyle = (drawingFont.Style & System.Drawing.FontStyle.Italic) != 0 ? FontStyles.Italic : FontStyles.Normal;txtBlock.FontFamily = fontFamily;txtBlock.FontSize = fontSize;txtBlock.FontStyle = fontStyle;txtBlock.FontWeight = fontWeight;}}private void btnSetColor_Click(object sender, RoutedEventArgs e){System.Windows.Forms.ColorDialog colorDialog = new System.Windows.Forms.ColorDialog();if (colorDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK){System.Windows.Media.Color MColor = new System.Windows.Media.Color();MColor = System.Windows.Media.Color.FromArgb(colorDialog.Color.A, colorDialog.Color.R, colorDialog.Color.G, colorDialog.Color.B);System.Windows.Media.Brush BColor = new SolidColorBrush(MColor);txtBlock.Background = BColor;}}}
}


相关文章:
C# WPF FontDialog字体对话框,ColorDialog颜色对话框 引用
WPF 并没有内置FontDialog和ColorDialog,但可以通过引用 Windows Forms 的控件来实现字体和颜色选择对话框功能。FontDialog 允许用户选择字体、样式、大小等设置。 添加 Windows Forms的引用 项目工程:右键“引用”》“添加引用”》勾选System.Window…...
在unity中实现把普通的照片,图片 变成油画风格的shader实现
可以通过对shader的Radius的值得设置来改变油画风格的力度,0最小,10是最大。...
使用elementUI实现表格行拖拽改变顺序,无需引入外部库
前言: 使用vue2element UI,且完全使用原生的拖拽事件,无需引入外部库。 如果表格数据量较大,或需要更多复杂功能,可以考虑使用 vuedraggable库,提供更多配置选项和拖拽功能。 思路: 1. 通过el-table的ro…...
PySpark 数据处理实战:从基础操作到案例分析
Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…...
恒源云使用手册记录:从服务器下载数据到本地
文章目录 一、xftp下载二、通过Xftp客户端连接站点 一、xftp下载 先下载xftp:下载连接 二、通过Xftp客户端连接站点 右击文件,点击新建 名称可以任意 主机、端口号、用户名 点击这里的复制登录命令 比如我这里得到ssh -p 41604 rooti-2.gpushare.co…...
【大咖云集 | IEEE计算智能学会广州分会支持】第四届信息技术与当代体育国际学术会议(TCS 2024,12月13-15日)
第四届信息技术与当代体育国际学术会议(TCS 2024) 2024 4th International Conference on Information Technology and Contemporary Sports 重要信息 会议官网:www.icitcs.net(会议关键词:TCS 2024) 202…...
【AI声音克隆整合包及教程】第二代GPT-SoVITS V2:技术、应用与伦理思考
一、引言 在当今科技迅速发展的时代,声音克隆技术成为人工智能领域的一个备受瞩目的分支。GPT-SoVITS V2作为一种声音克隆工具,正逐渐进入人们的视野,它在多个领域展现出巨大的潜力,同时也引发了一系列值得深入探讨的问题。本文旨…...
利用AI制作《职业生涯规划PPT》,10分钟完成
职业生涯规划是大学生活中非常重要的一环。通过制定职业规划,你能够明确未来的职业目标、认清自身的优劣势,进而制定切实可行的计划,以便顺利踏上职业发展的道路。而制作一份精美的职业生涯规划PPT,能有效帮助你在面试、职业规划报…...
【Java多线程】线程安全及解决方案(详解)
目录 线程安全问题引入: 线程安全原因 如何解决线程安全问题? (1)synchronized关键字 1)sychronized关键字的特性: 2)可重⼊ synchronized使⽤⽰例 (2)volatile关键字 1)内存可见性和…...
【前端基础】Javascript取整函数以及向零取整方式
向零取整方式 在JavaScript中,有多种方式可以对数字进行取整操作,即去掉小数部分,只保留整数部分。其中,向0取整(也称为截断小数部分)的方式有以下几种常用的方法: 使用 Math.trunc()ÿ…...
禅道与Jira与Ones对比:哪个更适合你的项目管理需求?
一、项目管理工具的重要性 在当今复杂的项目环境中,选择合适的项目管理工具对项目成功至关重要。随着项目规模的不断扩大、涉及领域的日益广泛以及团队成员的分散性,传统的项目管理方式已经难以满足需求。 项目管理工具可以帮助团队更好地规划和组织项…...
Linux I/O编程:I/O多路复用与异步 I/O对比
文章目录 0. 引言1. I/O 模型简介1.1 阻塞 I/O(Blocking I/O)1.2 非阻塞 I/O(Non-Blocking I/O)1.3 信号驱动式 I/O(Signal-Driven I/O)1.4 多路复用 I/O(I/O Multiplexing)1.5 异步…...
Spark Plan 之 SQLMetric
SQLMetric Spark Plan 包含以下基本 方法, /*** return All metrics containing metrics of this SparkPlan.*/def metrics: Map[String, SQLMetric] Map.empty/*** return [[SQLMetric]] for the name.*/def longMetric(name: String): SQLMetric metrics(name)…...
基于YOLOv5模型的火焰识别系统
大家好,YOLOv5模型能够快速准确地检测到火灾火焰,在火灾初期甚至是刚刚出现火苗时就发出警报。这为及时采取灭火措施争取了宝贵的时间,极大地降低了火灾造成的损失。系统可以对特定区域进行持续实时监测,无论白天还是夜晚…...
多模态AI:开启人工智能的新纪元
在人工智能的璀璨星河中,多模态AI技术正逐渐成为一颗耀眼的明星。随着科技的飞速发展,AI技术正以前所未有的速度迈向新的高峰,其中多模态AI的兴起尤为引人注目。本文将深入探讨多模态AI的定义、技术原理、应用场景以及未来发展趋势。 ps.图…...
麒麟信安支撑2024年电力监控系统网络安全加固培训护航电力网络安全!
在网络安全形势日益复杂的今天,电力行业的网络安全尤为重要。为提升电力监控系统网络安全运维人员的专业技能,由国调中心网安处精心策划,国家电网技术学院组织开展的“2024年电力监控系统网络安全加固培训”于近日圆满结束。麒麟信安作为重要…...
横表和纵表 中的横表
图1 图2...
7个常用的JavaScript数组操作进阶用法
文章目录 1、查找数组中的最大值方法一:使用 Math.max 和展开运算符方法二:使用 for 循环逐一比较 2、查找数组中的第二大值方法一:排序后取第二大值方法二:遍历找到第二大值 3、去除数组中的重复项4、合并两个有序数组并保持有序5、旋转数组…...
Spark的Standalone集群环境安装
一.简介 与MR对比: 概念MRYARNSpark Standalone主节点ResourceManagerMaster从节点NodeManagerWorker计算进程MapTask,ReduceTaskExecutor 架构:普通分布式主从架构 主:Master:管理节点:管理从节点、接…...
Android Glide动态apply centerCropTransform(),transition withCrossFade动画,Kotlin
Android Glide动态apply centerCropTransform(),transition withCrossFade动画,Kotlin import android.graphics.Bitmap import android.os.Bundle import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import com.bumptech.glide.Glide import …...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...
python打卡day49@浙大疏锦行
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 一、通道注意力模块复习 & CBAM实现 import torch import torch.nn as nnclass CBAM(nn.Module):def __init__…...
