winform中使用panuon开源UI库的问题

在 WinForms 中使用 Panuon UI 是一种提高应用程序用户界面美观和交互性的方式。Panuon UI 是一个用于 .NET 应用程序的现代化 UI 库,它提供了一些非常好看的控件,能够让 WinForms 应用程序看起来更现代。

But------------------------------------,

我使用下面的方法好像根本不行,我是用netget搜Panuon,然后安装了Panuon.UI.Silver,但是根本找不到PButton,如果大家有winform中使用Panuon的方法,麻烦告诉我一下。

在文章的第二部分我将讲解下如何使用antdUI开源库。

在这里插入图片描述

以下是如何在 WinForms 中使用 Panuon UI 的步骤:

1. 安装 Panuon UI

你可以通过 NuGet 包管理器安装 Panuon UI。以下是安装步骤:

使用 NuGet Package Manager(包管理器控制台)
  1. 打开你的 Visual Studio 项目。

  2. 右键点击解决方案资源管理器中的项目,选择 管理 NuGet 程序包

  3. 在 NuGet 包管理器中,搜索 Panuon.UI.Silver(Panuon UI 的 Silver 主题版本),或者使用命令:

    Install-Package Panuon.UI.Silver
    

    如果你想使用其他主题版本,可以选择 Panuon.UI

使用 NuGet 包管理器 UI
  1. 打开 Visual Studio 的 工具 -> NuGet 包管理器 -> 程序包管理器控制台

  2. 通过控制台执行以下命令:

    Install-Package Panuon.UI.Silver
    

    如果你只想要 Panuon.UI(没有特定主题),使用:

    Install-Package Panuon.UI
    

2. 配置项目

在安装完 Panuon UI 之后,需要确保项目引用了正确的命名空间和资源文件。

1. 引用命名空间

在你的 Form 文件中引用 Panuon UI 的命名空间。例如:

using Panuon.UI.Silver;
2. 修改 Program.cs(如果需要)

Panuon UI 使用 Application.EnableVisualStyles()Application.SetCompatibleTextRenderingDefault(false) 来初始化界面。如果你使用 Panuon UI,确保你已经正确设置了这些方法。

Program.cs 中:

using System;
using System.Windows.Forms;
using Panuon.UI.Silver;namespace PanuonWinFormsApp
{static class Program{[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());  // 启动主窗口}}
}

3. 使用 Panuon 控件

Panuon UI 提供了多个自定义控件,可以通过拖放到窗体中或者通过代码动态创建。以下是一些常见控件的使用示例。

1. PButton(按钮控件)

Panuon UI 提供了一个美观的按钮控件 PButton,你可以用它替代 Windows Forms 默认的 Button 控件。

  • 拖放控件:可以通过工具箱拖放一个 PButton 到你的窗体中。

  • 代码创建

    PButton pButton = new PButton();
    pButton.Text = "Click Me";
    pButton.Location = new System.Drawing.Point(50, 50);
    pButton.Size = new System.Drawing.Size(100, 40);
    pButton.Click += (sender, e) => {MessageBox.Show("Button Clicked!");
    };
    this.Controls.Add(pButton);
    
2. PTextBox(文本框控件)

Panuon UI 还提供了一个美观的文本框控件 PTextBox,可以用于替代默认的 TextBox 控件。

PTextBox pTextBox = new PTextBox();
pTextBox.Location = new System.Drawing.Point(50, 100);
pTextBox.Size = new System.Drawing.Size(200, 30);
this.Controls.Add(pTextBox);
3. PCheckBox(复选框控件)

如果你需要一个复选框,Panuon UI 也提供了 PCheckBox

PCheckBox pCheckBox = new PCheckBox();
pCheckBox.Text = "I agree";
pCheckBox.Location = new System.Drawing.Point(50, 150);
this.Controls.Add(pCheckBox);

4. 使用 Panuon UI 的主题

Panuon UI 支持多种主题,可以让你的应用程序看起来更加现代。通过设置 Panuon.UI.SilverTheme 属性,你可以改变主题。

PButton pButton = new PButton();
pButton.Text = "Click Me";
pButton.Theme = Panuon.UI.Silver.ThemeType.Default;  // 设置主题为默认
pButton.Size = new System.Drawing.Size(100, 40);
this.Controls.Add(pButton);

你还可以通过自定义主题来进一步美化你的应用程序。

5. 完整的示例代码

下面是一个完整的示例,展示了如何在 WinForms 应用中使用 Panuon UI 控件:

using System;
using System.Windows.Forms;
using Panuon.UI.Silver;namespace PanuonWinFormsApp
{public partial class Form1 : Form{public Form1(){InitializeComponent();// 创建并设置按钮PButton pButton = new PButton();pButton.Text = "Click Me";pButton.Location = new System.Drawing.Point(50, 50);pButton.Size = new System.Drawing.Size(100, 40);pButton.Click += (sender, e) => {MessageBox.Show("Button Clicked!");};this.Controls.Add(pButton);// 创建并设置文本框PTextBox pTextBox = new PTextBox();pTextBox.Location = new System.Drawing.Point(50, 100);pTextBox.Size = new System.Drawing.Size(200, 30);this.Controls.Add(pTextBox);// 创建并设置复选框PCheckBox pCheckBox = new PCheckBox();pCheckBox.Text = "I agree";pCheckBox.Location = new System.Drawing.Point(50, 150);this.Controls.Add(pCheckBox);}}
}

总结

  1. 安装 Panuon UI:通过 NuGet 包管理器安装 Panuon.UI.SilverPanuon.UI
  2. 引入命名空间:在代码中引用 Panuon.UI.Silver
  3. 使用控件:使用 PButtonPTextBoxPCheckBox 等 Panuon UI 控件,替代默认的 WinForms 控件。
  4. 自定义主题:你可以设置不同的主题来美化你的 UI。

这样,你就可以在 WinForms 项目中使用 Panuon UI 来提升应用程序的外观和用户体验了。
Panuon.UI.Silver。 3. **使用控件**:使用 PButtonPTextBoxPCheckBox` 等 Panuon UI 控件,替代默认的 WinForms 控件。
4. 自定义主题:你可以设置不同的主题来美化你的 UI。

这样,你就可以在 WinForms 项目中使用 Panuon UI 来提升应用程序的外观和用户体验了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/502872.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Uniapp-Vue3】swiper滑块视图容器的用法

我们使用swiper标签就可以实现轮播图的效果。 一、swiper组件的结构 整体的轮播图使用swiper标签&#xff0c;轮播的每一页使用swiper-item标签。 <template><swiper class"swiper"><swiper-item><view class"swiper-item">111…

Which CAM is Better for Extracting Geographic Objects? A Perspective From参考文献

参考文献列表 [1] E. Shelhamer, J. Long, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in Proc. Comput. Vis. Pattern Recognit., Jun. 2015, pp. 3431–3440. 中文翻译&#xff1a;[1] 谢尔哈默, E., 龙, J., & 达雷尔, T. (2015).…

【C++项目实战】类和对象入门实践:日期类实现万字详解

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《C项目实战》 期待您的关注 ​ 目录 引言 介绍 一、类的设计 二、成员函数的实现 &#x1f343;构造函数、析构函数、拷贝构造…

基于32单片机的智能语音家居

一、主要功能介绍 以STM32F103C8T6单片机为控制核心&#xff0c;设计一款智能远程家电控制系统&#xff0c;该系统能实现如下功能&#xff1a; 1、可通过语音命令控制照明灯、空调、加热器、窗户及窗帘的开关&#xff1b; 2、可通过手机显示和控制照明灯、空调、窗户及窗帘的开…

hot100_54. 螺旋矩阵

hot100_54. 螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5] 示例 2&#xff1a; 输入&am…

HTML5实现好看的博客网站、通用大作业网页模板源码

HTML5实现好看的博客网站、通用大作业网页模板源码 前言一、设计来源1.1 主界面1.2 列表界面1.3 文章界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好看的博客网站、通用大作业网页模板源码&#xff0c;博客网站源码&#xff0c;HTML模板源码&#xff0…

移动硬盘无法访问:全面解析、恢复方案与预防策略

描述移动硬盘无法访问现象 在日常的数据存储和传输过程中&#xff0c;移动硬盘无疑扮演着举足轻重的角色。然而&#xff0c;当移动硬盘突然无法访问时&#xff0c;这无疑给用户带来了巨大的困扰。想象一下&#xff0c;你急需从移动硬盘中调取一份重要文件&#xff0c;但系统却…

1-markdown转网页样式页面 --[制作网页模板] 【测试代码下载】

markdown转网页 将Markdown转换为带有样式的网页页面通常涉及以下几个步骤&#xff1a;首先&#xff0c;需要使用Markdown解析器将Markdown文本转换为HTML&#xff1b;其次&#xff0c;应用CSS样式来美化HTML内容。此外&#xff0c;还可以加入JavaScript以增加交互性。下面我将…

基于Centos 7系统的安全加固方案

创作不易&#xff0c;麻烦点个免费的赞和关注吧&#xff01; 声明&#xff01; 免责声明&#xff1a;本教程作者及相关参与人员对于任何直接或间接使用本教程内容而导致的任何形式的损失或损害&#xff0c;包括但不限于数据丢失、系统损坏、个人隐私泄露或经济损失等&#xf…

Angular由一个bug说起之十三:Cross Origin

跨域 想要了解跨域&#xff0c;首要要了解源 什么是源&#xff0c;源等于协议加域名加端口号 只有这三个都相同&#xff0c;才是同源&#xff0c;反之则是非同源。 比如下面这四个里&#xff0c;只有第4个是同源 而浏览器给服务器发送请求时&#xff0c;他们的源一样&#xff0…

nacos安装集群

本示例是安装在本地虚拟机linux环境。 &#xff08;1&#xff09;下载nacos https://download.csdn.net/download/lft18/90231054 &#xff08;2&#xff09;上传服务器并修改配置 放到/app/nacos目录下&#xff1a; 解压&#xff1a; tar -zxvf nacos-server-1.4.1.tar.…

taro转H5端踩坑

项目场景&#xff1a; 在利用taro进行多端开发时踩坑随记&#xff1a; 问题描述 在编译h5端的时候提示&#xff1a; Uncaught TypeError: (prevProps.className || prevProps.class || “”).split is not a function" return <ScrollView scrollY onScrollToLower{…

REVERSE-COMPETITION-CCSSSC-2025

REVERSE-COMPETITION-CCSSSC-2025 donntyouseeHappyLockkernel_traffic donntyousee elf64&#xff0c;ida反编译不太行&#xff0c;有花指令&#xff0c;直接调汇编 读输入 读输入前有条打印”plz input your flag”&#xff0c;肯定是在.init_array&#xff0c;确实有很多 …

海外招聘丨 弗拉瑞克商学院—博士研究员:智能家居技术业务和能源管理中的数据分析和人工智能

雇主简介 Vlerick 是一所领先的国际商学院……与众不同。是的&#xff0c;我们提供完全认可的世界一流教育课程&#xff0c;将理论知识和实践见解完美结合。是的&#xff0c;我们是一家领先的学术机构&#xff0c;拥有创新和独立研究的悠久传统。是的&#xff0c;我们拥有国际…

设计模式 行为型 策略模式(Strategy Pattern)与 常见技术框架应用 解析

策略模式&#xff08;Strategy Pattern&#xff09;核心思想是将算法的实现从使用该算法的类中分离出来&#xff0c;作为独立的对象&#xff0c;通过接口来定义算法家族&#xff0c;这样就可以很容易地改变或扩展算法。通过这种方式&#xff0c;可以避免在客户端代码中使用大量…

如何使用脚手架工具开始,快速搭建一个 Express 项目的基础架构

前言 将从如何使用脚手架工具开始&#xff0c;快速搭建一个 Express 项目的基础架构。接着&#xff0c;文章将详细讲解 Express 中间件的概念、分类以及如何有效地使用中间件来增强应用的功能和性能。最后&#xff0c;我们将讨论如何制定合理的接口规范&#xff0c;以确保 API …

《Opencv》基础操作详解(5)

接上篇&#xff1a;《Opencv》基础操作详解&#xff08;4&#xff09;-CSDN博客 目录 接上篇&#xff1a;《Opencv》基础操作详解&#xff08;4&#xff09;-CSDN博客 25、轮廓近似 简介 接口用法 参数说明 返回值 代码示例 结果展示 26、轮廓最小外接圆 简介 接口用…

Java虚拟机面试题:内存管理(上)

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

测试用例颗粒度说明

当我们在编写测试用例时&#xff0c;总是会遇到一个问题&#xff1a;如何确定测试用例的颗粒度&#xff1f;测试用例过于粗糙&#xff0c;可能无法全面覆盖系统的细节&#xff1b;而颗粒度过细&#xff0c;又会导致测试重复、冗余。掌握合适的颗粒度&#xff0c;不仅可以提高测…

【C++】深入解析二维数组初始化与越界问题

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;问题代码背景问题现象 &#x1f4af;初步分析与发现的问题1. 二维数组的初始化问题补充说明 2. 数组越界访问为什么数组越界问题没有直接报错&#xff1f; &#x1f4af;解…