首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在VB中更改ToString时,对象上的ListBox不更新

在VB中,当我们更改对象的ToString方法时,ListBox上的内容不会自动更新。这是因为ListBox控件在显示对象时,会调用对象的ToString方法来获取显示的文本。一旦对象的ToString方法被调用后,ListBox就会将返回的文本作为项的内容进行显示,而不会再关注对象本身的变化。

要解决这个问题,我们可以手动更新ListBox的内容。一种常见的方法是使用数据绑定。通过将ListBox的DataSource属性绑定到一个集合对象,然后在对象的ToString方法中返回需要显示的文本,就可以实现自动更新。

以下是一个示例代码:

代码语言:txt
复制
' 创建一个类来表示对象
Public Class MyObject
    Public Property Name As String

    Public Overrides Function ToString() As String
        Return Name
    End Function
End Class

' 在窗体中使用ListBox和按钮
Public Class Form1
    Private objects As List(Of MyObject)

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' 初始化对象集合
        objects = New List(Of MyObject)()

        ' 将ListBox的DataSource属性绑定到对象集合
        ListBox1.DataSource = objects
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' 创建一个新的对象并添加到集合中
        Dim newObj As New MyObject()
        newObj.Name = "New Object"
        objects.Add(newObj)

        ' 手动刷新ListBox的显示
        ListBox1.Refresh()
    End Sub
End Class

在上述示例中,我们创建了一个名为MyObject的类来表示对象,其中包含一个Name属性和一个重写的ToString方法。在窗体加载时,我们将ListBox的DataSource属性绑定到对象集合。当点击按钮时,我们创建一个新的对象并添加到集合中,然后手动调用ListBox的Refresh方法来刷新显示。

这样,当我们更改对象的ToString方法时,ListBox上的内容就会自动更新了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VB.netListbox

1.Listbox有什么属性与方法 VB.NET ListBox控件是一个常见用户界面元素,用于显示一个可滚动列表,用户可以从中选择一个或多个项目。...Listbox初始化、添加、删除和清空 初始化 Windows Forms 设计器,你可以直接拖拽一个ListBox控件到你窗体。...Listbox如何设置界面外观 VB.NET ,设置ListBox控件界面主要涉及调整控件属性,如大小、位置、背景色、前景色、字体等。...不过,对于更复杂界面布局和动态内容,代码设置通常更加灵活和强大。 4.Listbox读取数据 VB.NET,读取ListBox控件数据可以通过几种不同方式来实现。...这样,你可以直接从数组或列表读取数据,而不是从ListBox读取。这种方法处理大量数据或需要频繁访问数据可能更有效。

34510
  • VB学习笔记(基础知识)(一)「建议收藏」

    End Sub (由于Markdown代码块不支持VB所以这里用VB.Net代替) Ps:事件名称都是由VB设定好,但是可以更改,即为该对象Name属性(为编写方便,推荐使用有意义英文单词作为对象名称或者不改变...Name属性) 对象方法 传统程序设计,过程与函数是编程语言主要部件。...窗体显示“Good Morning” 窗体 窗体属性 属性(常见):1 AutoRedraw (下面出现所有代码对象对象名称均用OB(即object缩写)代替) OB.AutoRedraw...Visual Basic简单程序设计基础知识 一个语句长度最长超过1023个字符,Visual Basic,下划线(_)是续航符 赋值语句 赋值语句一般格式为: [Let] 目标操作符 = .....数据类型 1.字符串(String) 字符串是很多编程语言中十分常见一种数据类型,字符串一般双引号里例如:“Hello,World” 而VB字符串又可以分为定长字符串与变长字符串,变长字符串可以为

    1.5K10

    《深入浅出WPF》学习笔记之深入浅出话Binding

    Source 用于指定数据源为后台数据对象、集合 ElementName 用于指定“数据源”为界面上某个控件某个属性   注意:   C#代码可以访问XAML代码声明变量,但XAML代码无法访问...TwoWay 源↔目标 无论是目标属性还是源属性,只要发生了更改,TwoWay 就会更新目标属性或源属性。 OneWay 源→目标 仅当源属性发生更改更新目标属性。...OneTime 仅当应用程序启动时或 DataContext 进行更改更新目标属性。 OneWayToSource 目标→源 目标属性更改更新源属性。...(Dependency Object)   *容器DataContext (WPF默认使用源)   *ElementName指定源:C#代码对象Name作为源赋给Binding   *RelativeSource...DataContext用法:   *当UI多个控件Binding同一个对象   *当Source对象不能被直接访问——比如B窗体内控件想把A窗体内控件当做Binding源,但A窗体内控件是

    5.6K10

    FileSystemWatcher 监视指定目录变更

    .Net框架类库FileSystemWatcher如它名称一样是一个用于监视文件系统变化一个控件。使用 FileSystemWatcher 监视指定目录更改。...可监视指定目录文件或子目录更改。可以创建一个组件来监视本地计算机、网络驱动器或远程计算机上文件。...例如,若要监视文件 MyDoc.txt 更改,请将 Filter 属性设置为“MyDoc.txt”。也可以监视特定类型文件更改。...例如,若要监视文本文件更改,请将 Filter 属性设置为“*.txt”。 可监视目录或文件若干种更改。...//监视目录改变文件或目录引发事件             //监视目录文件或目录大小、系统属性、             //上次写入时间、上次访问时间或安全权限进行更改

    64530

    c#开发ActiveX学习笔记

    严格意义讲,c#是不能生成纯正ocx控件,我们vs.net中新建项目,也找不到专门"ActiveX项目"新建项,最多也只就能新建"类库"得到一个dll而非ocx(因此我们也无法用传统regsvr32...3.开发步骤: (1)新建一个类库 (2)修改项目的"属性",“生成”选项把“输出”“为com互操作注册”勾中,然后再到“应用程序”选项中找到“程序集信息”按钮,点击它,弹出界面勾中“使程序集...#endregion这一段内容是固定,不要修改,其它内容根据自己业务要求自行修改,另外类前面要加上Guid标识,以便网页调用时,能用CLSID="xxx"来调用 基本这样弄完后,就可以在网页...,项目编译后vs.net会自动将bin\debug\xxx.dll调用regasm注册,但在别人机器就不行了,为了能在调试模拟其它机器运行结果,可以在编译后,手动用类似 regAsm.exe D:...,但是这样调试起来不太方便,另外注册/反注册RegAsm.exe要起开发环境版本一致(比如你开发设置是64位版本,那么反注册也要用64位版本RegAsm.exe) 另外,我们也不可能在每个客户机上手动用

    1.5K50

    Python tkinter快速可视化开发GUI界面指南:详细教程(附带工具)

    ListBox 列表框对应PythonListbox,行为也类似,可以设计阶段设置初始列表。...打开VB6,新建一个标准EXE工程,在窗体设计自己GUI布局,这个工作估计没有VB基础同学都可以完成,同时可以设置相应控件属性。...2.8 如果程序有多个GUI界面,可以VB工程添加窗体,就可以选择产生 哪个窗体对应代码。...如果输出是面向对象代码,则可以界面派生类Application中直接访问 对应控件。...GUI布局和设计,可以VB界面上设置 控件一些属性,最终自动生成必要代码(包括回调函数框架),代码 生成后仅需要在对应回调函数增加相应逻辑功能代码即可。

    9.1K51

    C# Evalaspx页面用法及作用

    当然,ASP.NET 2.0页面仍然支持DataBinder.Eval,你可以不支持简化Eval语法环境中使用它。...Bind 方法支持读/写功能,所以Bind 函数用于双向(可更新)绑定。该方法可以检索数据绑定控件值并将任何更改提交回数据库。 XPath 方法支持对XML类型数据源提供支持。...,也可以是一个带返回值C#或者VB.NET方法,还可以是某个控件某个属性值,也可以是C#或者VB.NET对象某个字段或者属性值等等。...三,可以将数据绑定表达式包含在Javascript代码,从而实现在Javascript调用C#或者VB.NET方法。...,例如ListBox等,或者Repeater,DataList,GridView这样控件等,此时只需要把属性DataSource='' 。

    7.2K20

    【愚公系列】2023年11月 WPF控件专题 2023秋招WPF高频面试题

    Static Resource - StaticResource 加载确定Dynamic Resource - 在运行时更改属性值情况下使用。7.WPF控件分类?...Command 对象包含要执行功能。 这消除了命令定义和功能之间直接联系,并促进了松散耦合。 当需要根据用户请求实现操作,命令模式是处理对象最佳模式。...这会导致直到在运动需要它才查找资源。 一个很好例子是对稍后 XAML 定义资源前向引用。 另一个例子是直到运行时才会存在资源。 如果源资源字典发生更改,它将更新目标。...当您在根元素设置 FontSize ,它适用于下面的所有文本块,除非在元素覆盖该属性值。 更改通知 ncyObject* 继承方法。...当您在根元素设置 FontSize ,它适用于下面的所有文本块,除非在元素覆盖该属性值。 更改通知 依赖属性具有内置更改通知机制。 通过属性元数据中注册回调,您会在属性值更改时收到通知。

    49422

    基于sliverlight + wcfweb 文字版IM 示例

    ,当前在线"等常见功能区 第三行:显示当前聊天对象以及"加为好友","从好友列表删除"二个按钮 第四行: 打字聊天栏 第五行:发送按钮 二、机制 a.采用wcf通讯,silverlight调用wcf得到返回结果和发送聊天内容...,wcf与数据库交互----即silverlight以wcf为桥梁来操作数据库 b.聊天记录刷新采用Timer定时器,每隔5秒通过调用wcf更新 c.在线列表利用websiteGlobal全局字典来实现...,每登录或注销一个用户,均通过wcf向该字典插入或删除指定key"记录" 三、一些小技巧: a.Ctrl+回车 键发送实现代码: private void txtContent_KeyDown(...websitewcf做了中转,xap加载就先利用wcf取回当前Ip,呵 四、代码 代码有点乱,也相对比较长,关键代码全部折叠贴在下面了: <UserControl xmlns:controls...()); } } /**//// /// 点击"我好友"更新列表 /// </summary

    1.1K60

    C#进阶——从应用上理解异步编程作用(async await)

    ; //步骤7:子线程运行,阻塞主线程 } 这里用当前线程睡眠来模拟耗时工作 3.同步实现方式:      运行结果: 很明显以上就是同步实现方法,在运行以上代码,会出现UI卡住了现象...,正确输出,但是主线程挂起时候,UI还是假死,因此没有起到优化作用。....Items.Add(DateTime.Now.ToString("T") + "进入耗时函数前,线程" + Thread.CurrentThread.ManagedThreadId); //步骤5:主线程运行...那为啥叫异步呢,因为执行到await不发生阻塞,直接跳过等待去执行其他,当await返回,又接着执行await后面的代码,这一系列运行都是主调线程完成,并没有开线程等待。...所以如果耗时函数不开一个线程运行,一样会阻塞,没有完全利用异步优势。 那么,await是主线程等待,那其为什么没有阻塞主线程呢?我个人觉得其是利用委托方式,后面再去揪原理吧!

    68930

    VB.net,一维数组排序有什么方法

    VB.NET,你可以使用多种方法对一维数组进行排序。 以下是一些常见方法: 1.使用Array类Sort方法 Array.Sort 方法是最简单且直接方式。...区分大小写 根据你具体需求(例如是否需要保留原始数组、是否需要自定义排序规则等),你可以选择最适合方法。...VB.NET和C#通用知识点学习笔记 序 列表 1 VBA或VB.netSplit()与Replace()用法 2 VB.net,List(of string())与List(of List(...of string))有什么区别 3 VB.net,List有什么方法与属性 4 VB.net,Stopwatch有什么属性与方法 5 VB.net多线程System.Threading 6 VB.NET...,多线程学习笔记(一) 7 VB.netListbox 8 VB.net,数据去重有什么方法

    31910

    C# Web控件与数据感应之 Control 类

    ----关于数据感应 数据感应也即数据捆绑,是一种动态,Web控件与数据源之间交互,诸如 ListControl 类类型控件,文章《C# Web控件与数据感应之 ListControl 类》..., 生成数据源需要利用 ADO.NET 数据提供者对象包括IDbConnection、IDbCommand、IDbDataParameter等,如何使用这些对象请参考我文章: 《C#实现 IDbConnection...string 对应数据库连接字符串 3 sql string 要执行SQL语句命令行 4 paras ArrayList 要赋值参数对象,逐个添加到ArrayList里,请注意参数为实体数据参数对象...3 text nvarchar(100) 存储显示值 用户可以看到选择呈现值 4 sortid int 排序号 调用 假设前端 UI 有 ID 为 TB TextBox (文本框)...小结 范例中所需数据库驱动链接库,请下载我资源: https://download.csdn.net/download/michaelline/89235824 本方法适用于所以对应说明表 Control

    7410

    听音乐不过瘾?自制一个音乐播放器!【附带函数源码】

    本文讲解了音乐播放器基本控件函数编写及开发思路 最近在学习C#GUI编程想着自制一个播放器,说干就干。...那么对于使用C#自己开发一个音乐播放器,首先应该了解的当然就是播放器基本构成了,毕竟知己知彼方能百战殆嘛,和我们平常使用音乐播放器一样。...界面设计完成以后,就是后端函数书写操作了, 打开音乐文件控件函数 该函数目的是为了我们从系统文件添加音乐文件。...其中需要注意是:我们需要设置音乐起始默认打开位置和所选择音乐格式,一般来说音乐格式有mp3、WAV、flac等,属性设置音乐格式应注意,每一个格式应该使用分号进行分割开。...musicPlayer.Ctlcontrols.play(); } 点击下一曲控件函数 该函数作用是:当我们点击一曲时候,可以根据当前播放音乐列表,播放列表一首歌曲。

    1.4K30

    Silverlight数据绑定IValueConverter学习笔记

    先回忆一下aspx处理: aspx,可以直接在后台定义一个变量,然后前台就可以用来将其"绑定"html控件,比如下面这样,实在是很方便: using System; namespace...要想直接将后台变量绑定到某个控件却是行不通,通常我们得先定义一个类,然后类里定义属性,才能把类实例属性绑定到控件: 简单绑定: 代码 using System; using System.Windows...绑定集合(数据集): 很多应用场合,数据来源不仅只有一个实例(或一条记录)--比如从数据库检索记录,这时如果想绑定数据并实现自动更新,应使用集合绑定(类似于aspxDataSet或DataTable...,都是将数据原封不动绑定并显示,如果我们希望绑定时,能对数据输出做一些变化,比如:代表性别的"1,0"输出希望变成"男,女",该怎么办呢?...(silverlight可不允许象aspx那样用<%# Eval("Sex").ToString()=="1"?"

    93170

    WPF 数据绑定实例一

    前言: 数据绑定基本步骤: (1)先声明一个类及其属性 (2)初始化类赋值 (3)C#代码把控件DataContext=对象; (4)界面设计里,控件给要绑定属性{Binding 绑定类属性...LostFocus 控件失去焦点时候更新源值 PropertyChanged 绑定目标值改变更新。 实例运行后界面如下: ?...Task.Delay()实质创建一个运行给定时间任务,Thread.Sleep()使当前线程休眠给定时间。 反编译Task.Delay(),基本讲它就是个包裹在任务定时器。...Task.Delay()和Thread.Sleep()最大区别是Task.Delay()旨在异步运行,同步代码中使用Task.Delay()是没有意义异步代码中使用Thread.Sleep()...,不然这次赋值,界面更新 { this.DataContext = new Student() { Name = "222",

    82020

    C#学习笔记—— 常用控件说明及其属性、事件

    (3)TextChanged事件:该事件Text属性值更改时发生。无论是通过编程修改还是用户交互更改文本框 Text属性值,均会引发此事件。...向已排序 ListBox控件添加项,这些项会移动到排序列表适当位置。 (10)Text 属性:该属性用来获取或搜索 ListBox 控件当前选定项文本。...[格式1]: ListBox对象.FindString(s); [功能]:ListBox 对象”指定列表框查找字符串 s,如果找到则返回该项从零开始索引;如果找不到匹配项,则返回ListBox.NoMatches...[格式2]: ListBox对象.FindString(s,n); [功能]: ListBox 对象指定列表框查找字符串 s,查找起始项为n+1,即 n 为开始查找前一项索引。...完成向列表框添加项任务后,再调用 EndUpdate 方法使 ListBox 控件重新绘制。当向列表框添加大量列表项,使用这种方法添加项可以防止绘制 ListBox 闪烁现象。

    9.7K20
    领券