C# 创建一个list,当我在textbox中输入一个数值,回车,就会传到这个list,可能会传N次,当我点击完成按钮的时候,就用list与datatable1中的A列比较,看看该列在list里都存在,如果不存在就显示出该列不存在的值。
时间: 2024-09-27 08:11:32 浏览: 36
在C#中,你可以创建一个`List<int>`来存储用户输入的数值,并结合TextBox、KeyDown事件和Button的Click事件来实现这样的功能。以下是简单的步骤:
首先,你需要声明一个List并设置TextBox的KeyDown事件处理器:
```csharp
private List<int> numberList = new List<int>();
private TextBox textBoxInput;
private DataTable dataTable1;
public Form1()
{
InitializeComponent();
// 初始化DataTable
dataTable1 = GetYourDataTable(); // 替换为从数据库获取实际数据
// 绑定TextBox的KeyDown事件
textBoxInput.KeyDown += TextBox_KeyDown;
}
// TextBox_KeyDown事件处理程序
private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) // 当按下Enter键
{
int inputNumber = int.Parse(textBoxInput.Text); // 将文本转换为整数
numberList.Add(inputNumber); // 添加到列表中
textBoxInput.Clear(); // 清空输入框
}
}
```
接下来,添加一个Button的Click事件来检查并显示结果:
```csharp
private void buttonCompare_Click(object sender, EventArgs e)
{
foreach (int num in numberList)
{
if (!dataTable1.Columns["A"].Exists((DataColumn dataColumn) => dataColumn.ColumnName == "A" && !dataTable1.Rows.Any(row => row.Field<int>("A") == num))
{
Console.WriteLine($"列'A'中不存在数值: {num}"); // 这里的Console.WriteLine可以换成UI控件如Label显示
}
}
}
```
记得替换`GetYourDataTable()`为实际的数据获取函数,例如从数据库读取。同时,注意这只是一个基础示例,实际应用可能需要考虑异常处理和用户体验优化。
阅读全文