在我的WindowsForm窗体里放了一个Propertygrid,请问在runtime时如何让Propertygrid显示其他Control的扩展属性(ProvideProperty)?

photoboy photoboy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下是我的范例程序,如果我在Visual Studio 2005开发环境设计WindowsForm的画面中拉一个MyPanel迈来,并在其上放一个Label,当我选取该Label对象时,属性视窗(Property window)会显示该对象的属性,且会另附加上ControlIndex属性,但是我实际执行范例程序时,在执行时期的Propertygrid对象里,会显示label2对象的属性,可是没有附加上ControlIndex属性。请问我该如何修改,才能让Runtime的Propertygrid显示对象的附加属性(ProvideProperty)?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TestProvideProperty
{
public partial class Form1 : Form
{
private PropertyGrid propertyGrid1 = new PropertyGrid();

public Form1()
{
InitializeComponent();

propertyGrid1.Dock = DockStyle.Fill;
this.Controls.Add(propertyGrid1);
}

private void Form1_Load(object sender, EventArgs e)
{
MyPanel panel1 = new MyPanel();

Label label1 = new Label();
label1.Text = "label1";
panel1.Controls.Add(label1);

Label label2 = new Label();
label2.Text = "label2";
panel1.Controls.Add(label2);

propertyGrid1.SelectedObject = label2;
}
}

[ProvideProperty("ControlIndex", typeof(Control))]
public class MyPanel : Panel, IExtenderProvider
{
[DisplayName("ControlIndex")]
public int GetControlIndex(Control sender)
{
return this.Controls.GetChildIndex(sender);
}

[DisplayName("ControlIndex")]
public void SetControlIndex(Control sender, int value)
{
this.Controls.SetChildIndex(sender, value);
}

bool IExtenderProvider.CanExtend(object extendee)
{
Control c = extendee as Control;
if (c != null)
{
return (c.Parent == this);
}
return false;
}
}
}

...全文
软件工程基于Java+Vue的志愿者时长与积分管理系统设计:实现服务记录可信化、激励透明化及数据驱动治理 项目介绍 基于java+vue的志愿者时长记录与积分兑换平台设计与实现(含模型描述及部分示 内容概要:本文介绍了一个基于Java与Vue的志愿者时长记录与积分兑换平台的设计与实现,旨在解决传统志愿服务管理中存在的记录分散、效率低下、激励不足等问题。平台通过前后端分离架构,前端采用Vue构建响应式界面,支持活动浏览、在线报名、签到签退、时长查看、积分商城等功能;后端基于Spring Boot实现身份认证、活动管理、时长核算、积分计算、库存控制等核心服务,并利用MySQL存储业务数据,Redis处理缓存与高并发场景,JWT实现安全认证。系统引入了时长有效区间计算、异常记录识别评分、积分规则引擎、库存原子扣减等多项关键技术模型,确保服务记录的准确性与系统的可靠性。同时,平台支持数据可视化分析,助力组织方进行决策优化与公益治理。; 适合人群:具备Java与Vue基础的软件开发人员、计算机专业学生、参与志愿服务系统开发的项目团队以及社区、学校、公益组织的技术负责人。; 使用场景及目标:①应用于街道社区、高校团委、公益基金会等机构的志愿服务管理系统建设;②实现志愿者服务时长的自动化记录与审核,提升管理效率;③通过积分激励机制增强志愿者参与积极性;④为公益组织提供数据分析支持,优化资源配置与活动策划。; 阅读建议:本文不仅提供了完整的系统架构设计与业务流程说明,还附有核心功能的代码示例(如时长计算、积分规则、异常识别等),建议读者结合实际项目需求进行代码实践与模块拓展,重点关注事务一致性、并发控制与规则可配置性设计。 立即下载

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
photoboy
C# 111,129 成员 642,538 内容