c#如何通过窗体名称获取所有控件的name和text值
时间: 2024-03-10 21:49:24 浏览: 21
可以通过以下代码获取窗体中所有控件的 Name 和 Text 属性值:
```csharp
// 获取窗体中所有控件的 Name 和 Text 属性值
foreach (Control control in this.Controls)
{
string controlName = control.Name;
string controlText = control.Text;
// 使用获取到的属性值进行操作
}
```
其中,`this.Controls` 表示当前窗体中的所有控件集合。通过遍历集合,可以获取到每个控件的 `Name` 和 `Text` 属性值,并进行相关操作。
相关问题
c#窗体sqlserver datagridview控件实现查询功能源码
以下是一个简单的 C# 窗体应用程序,使用 SQL Server 数据库和 DataGridView 控件实现查询功能的源代码:
```csharp
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace DataGridViewSearch
{
public partial class Form1 : Form
{
private string connectionString = "Data Source=SERVER_NAME;Initial Catalog=DATABASE_NAME;Integrated Security=True";
private SqlConnection connection;
private SqlDataAdapter dataAdapter;
private DataTable dataTable;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 创建 SQL 连接和数据适配器
connection = new SqlConnection(connectionString);
dataAdapter = new SqlDataAdapter("SELECT * FROM Customers", connection);
// 创建数据表和 DataGridView 控件
dataTable = new DataTable();
dataGridView1.DataSource = dataTable;
// 填充数据表
dataAdapter.Fill(dataTable);
}
private void buttonSearch_Click(object sender, EventArgs e)
{
// 获取查询关键字
string keyword = textBoxSearch.Text.Trim();
// 确保查询关键字不为空
if (string.IsNullOrEmpty(keyword))
{
MessageBox.Show("请输入查询关键字!", "提示");
return;
}
// 设置查询语句和参数
dataAdapter.SelectCommand.CommandText = "SELECT * FROM Customers WHERE FirstName LIKE @Keyword OR LastName LIKE @Keyword";
dataAdapter.SelectCommand.Parameters.Clear();
dataAdapter.SelectCommand.Parameters.AddWithValue("@Keyword", "%" + keyword + "%");
// 填充数据表
dataTable.Clear();
dataAdapter.Fill(dataTable);
}
}
}
```
在此代码中,需要将 `SERVER_NAME` 和 `DATABASE_NAME` 替换为实际的 SQL Server 服务器名称和数据库名称。在窗体的 `Load` 事件中,首先创建了一个 SQL 连接和数据适配器,然后创建了一个数据表和一个 DataGridView 控件,并使用数据适配器填充了数据表。在查询按钮的 `Click` 事件中,获取了查询关键字,设置了查询语句和参数,清空了数据表,并再次使用数据适配器填充了数据表。这样就可以实现简单的查询功能了。
C#连接mysql,使用窗体控件输入信息,并添加到mysql中
要在 C# 中使用窗体控件输入信息,并将其添加到 MySQL 数据库中,可以在窗体中添加相应的控件,如 `TextBox`、`Button` 等,并在按钮的点击事件中编写代码。
以下是一个简单的代码示例,假设窗体上有两个文本框控件 `txtName` 和 `txtAge`,以及一个按钮控件 `btnAdd`:
```csharp
using System;
using MySql.Data.MySqlClient;
class MyForm : Form
{
private TextBox txtName;
private TextBox txtAge;
private Button btnAdd;
public MyForm()
{
InitializeComponent();
}
private void InitializeComponent()
{
// 初始化控件
this.txtName = new TextBox();
this.txtAge = new TextBox();
this.btnAdd = new Button();
// 设置控件属性
this.txtName.Location = new Point(10, 10);
this.txtName.Size = new Size(200, 20);
this.txtAge.Location = new Point(10, 40);
this.txtAge.Size = new Size(200, 20);
this.btnAdd.Location = new Point(10, 70);
this.btnAdd.Size = new Size(100, 30);
this.btnAdd.Text = "添加";
this.btnAdd.Click += new EventHandler(btnAdd_Click);
// 添加控件到窗体
this.Controls.Add(this.txtName);
this.Controls.Add(this.txtAge);
this.Controls.Add(this.btnAdd);
}
private void btnAdd_Click(object sender, EventArgs e)
{
string connectionString = "server=localhost;user=root;password=123456;database=mydatabase";
MySqlConnection connection = new MySqlConnection(connectionString);
try
{
connection.Open();
string name = txtName.Text;
int age = int.Parse(txtAge.Text);
string sql = string.Format("INSERT INTO users (name, age) VALUES ('{0}', {1})", name, age);
MySqlCommand command = new MySqlCommand(sql, connection);
int rows = command.ExecuteNonQuery();
MessageBox.Show("已成功插入 " + rows + " 行数据。");
}
catch (Exception ex)
{
MessageBox.Show("数据插入失败:" + ex.Message);
}
finally
{
connection.Close();
}
}
}
```
在上面的示例中,我们在 `btnAdd_Click` 方法中获取文本框中的输入值,并执行 SQL INSERT 语句将其添加到 MySQL 数据库中。在执行 INSERT 语句之前,我们需要对输入值进行验证和处理,例如检查输入是否为空、是否为数字等。
请根据实际情况修改连接字符串中的参数值,并根据需要对输入值进行验证和处理。