ListBox的Item怎么可以包含显示的文本属性和一个隐含属性?或者有没有类似的第三方控件?

LuckyJan 2005-07-21 04:18:11
ListBox的Item,我想让它显示一个文本信息,又同时包含一个隐含的信息

Item怎么可以包含显示的文本属性和一个隐含属性?

或者有没有类似的第三方控件?
...全文
187 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyi8808 2005-08-21
  • 打赏
  • 举报
回复
using System.Text;
using System.Windows.Forms;

class Items
{
string DisplayMember;
object ValueMember;

public Items(string Text, object Value )
{
DisplayMember = Text;
ValueMember = Value;
}

public object Value
{
get { return ValueMember; }
}

public override string ToString()
{
return DisplayMember;
}
}

class Test : Form
{
ListBox lbx;

Test()
{
Text = "选择一些项目, 然后单击窗口下半部";
lbx = new ListBox();
lbx.Parent = this;
lbx.Width = 243;
lbx.Height = 67;
lbx.IntegralHeight = false;
lbx.ColumnWidth = 60;
lbx.MultiColumn = true;
lbx.BackColor = BackColor;
lbx.BorderStyle = BorderStyle.FixedSingle;
lbx.SelectionMode = SelectionMode.MultiSimple;
for (int i = 1; i <= 9; i++)
{
lbx.Items.Add(new Items("字符串"+i, "第"+i+"项"));
}
for (int i = 10; i <= 18; i++)
{
lbx.Items.Add(new Items("整数"+i, -i));
}
}

protected override void OnClick(System.EventArgs e)
{
StringBuilder sb = new StringBuilder();
foreach (Items o in lbx.SelectedItems)
{
sb.AppendFormat("{0}: [{1}]\n", o, o.Value);
}
MessageBox.Show(sb.ToString());
}

static void Main()
{
Application.Run(new Test());
}
}
tanjy 2005-07-21
  • 打赏
  • 举报
回复
要在你的ListItemObject类中重写toString()方法。就能显示到前面的string

class listObject
{
private string lstStr;
private object lstObj;
public listObject(string str1,object obj)
{
lstStr=str1;
lstObj=obj;
}

public string getLstStr()
{
return lstStr;
}

public object getLstObj()
{
return lstObj;
}
public override string ToString()
{
return lstStr;
}
lovvver 2005-07-21
  • 打赏
  • 举报
回复
DisplayMember = "显示的内容";
ValueMember = "值";
MyLf 2005-07-21
  • 打赏
  • 举报
回复
不需要第三方控件
先定义一个类:
public class ListItemObject
{
private string myDisplay ;
private object myValue ;
public ListItemObject(string displayText, object objValue )
{
this.myDisplay = displayText;
this.myValue = objValue;
}
public string Display
{
get {return myDisplay;}
}
public object Value
{
get{return myValue;}
}
}
在窗体代码里写:
this.listBox1.DisplayMember = "Display";//实际上就是ListItemObject的Display属性
this.listBox1.ValueMember = "Value";//实际上就是ListItemObject的Value属性
this.listBox1.Items.Add(new ListItemObject("第一个值","1"));
this.listBox1.Items.Add(new ListItemObject("第二个值","2"));
就可以显示了,你要读取值的时候记得类型转换,比如:
ListItemObject o = (ListItemObject)this.listBox1.SelectedItem;
内容概要:本文围绕“光伏-储能-数据中心”系统的容量优化配置展开研究,旨在通过构建数学模型并结合Matlab编程实现,对园区内光伏发电、储能设备与数据中心算力负荷之间的多能互补关系进行协同优化。研究综合考虑可再生能源出力的波动性、储能系统的充放电特性以及数据中心的动态用电需求与算力调度特性,建立以最小化综合成本、降低碳排放强度、提升能源自给率等为目标的多目标优化模型,并采用先进的智能优化算法(如粒子群、灰狼、鲸鱼等)进行求解,从而确定光伏装机容量与储能系统配置的最优方案。文中提供了完整的Matlab代码实现流程,涵盖数据预处理、模型构建、算法求解与结果可视化全过程,属于综合能源系统与信息基础设施深度融合的前沿交叉课题。; 适合人群:具备电力系统、能源工程、自动化或计算机等相关专业背景,熟悉Matlab编程与基本优化算法原理,从事新能源利用、绿色数据中心、综合能源系统规划与低碳调度等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握光伏-储能-数据中心耦合系统的建模思路与多能流协同机制;② 学习基于Matlab的多目标容量优化配置方法与智能算法应用技巧;③ 为工业园区、数字经济园区及绿色数据中心的能源系统规划、节能减排与可持续运行提供科学决策依据和技术解决方案。; 阅读建议:建议结合所提供的Matlab代码,深入理解目标函数设计、约束条件设定及算法实现细节,可通过调整负荷参数、改变气候数据、引入新的优化目标或约束条件等方式进行拓展性实验,以深化对系统特性的认知并提升实际科研与工程应用能力。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧