何を作っているかぐらいは書きましょうよ。TextBox, ListBox というのは、Windows Forms, WPF, ASP.NET Web Forms のいずれにもあります。すでに、Windows Forms という前提で回答が出ていますが、実は質問者さんが作っているのは WPF, ASP.NET Web Forms だったとすると、回答者の方が回答に費やした労力と時間を無駄にしたことになりますよ。
1using System;2using System.Collections.Generic;3using System.Windows.Forms;45namespace WindowsFormsApplication1
6{7 public partial class Form1 : Form
8{9 private class Person
10{11 public string ID;12 public int Age;13 public int Index;1415 public override string ToString()16{17return ID +":"+ Age.ToString();18}19};2021 private Dictionary<string, Person> _list;2223 public Form1()24{25InitializeComponent();26}2728 private voidForm1_Load(object sender, EventArgs e)29{30 _list = new Dictionary<string, Person>();31}3233 private voidbutton1_Click(object sender, EventArgs e)34{35int age =0;36if(int.TryParse(textBox2.Text, out age))37{38if(_list.ContainsKey(textBox1.Text))39{40 Person p = _list[textBox1.Text];41 p.Age = age;42// Refresh() 等では更新されなかったので、セットしなおし。43//listBox1.Refresh();44//listBox1.Invalidate();45//listBox1.Update();46 listBox1.Items[p.Index]= p;47}48else49{50 Person p = new Person();51 p.ID = textBox1.Text;52 p.Age = age;53 p.Index = listBox1.Items.Count;54 _list[p.ID]= p;55 listBox1.Items.Add(p);56}57}58}59}60}6162