winfrom Textbox控件实现右侧点击弹出窗口(页面底部增加一个搜索框输入内容检索ORACle的数据对应的数据显示出来,双击数据将想要的数据填充到Textbox里,同时关闭页面)
时间: 2024-03-14 11:48:39 浏览: 137
您可以使用WinForms的TextBox控件和Button控件来实现这个功能。
首先,在您的窗体中添加一个TextBox控件,设置其Dock属性为Top,并添加一个Button控件,设置其Dock属性为Right。
然后在Button的Click事件中,打开一个模态对话框,用于搜索和选择数据。您可以在这个对话框中添加一个搜索框和一个DataGridView控件,显示Oracle数据库中的数据。当用户双击DataGridView中的一行数据时,将所选数据填充到TextBox中,并关闭对话框。
以下是示例代码,供您参考:
```csharp
private void button1_Click(object sender, EventArgs e)
{
using (var searchForm = new SearchForm())
{
if (searchForm.ShowDialog() == DialogResult.OK)
{
textBox1.Text = searchForm.SelectedData;
}
}
}
```
其中,SearchForm是您自己创建的搜索对话框,SelectedData是该对话框中所选数据的属性。在SearchForm的DataGridView的DoubleClick事件中,将所选数据赋值给SelectedData属性,并将对话框的DialogResult设置为OK,以便在主窗体中捕获所选数据。
相关问题
c#winfrom from1窗体按钮点击弹出from2窗体选择数据框双击数据from1的textbox里
您可以按照以下步骤实现:
1. 在 From1 窗体上添加一个按钮,并在单击事件中添加以下代码:
```
private void button1_Click(object sender, EventArgs e)
{
From2 form2 = new From2(); // 实例化 From2 窗体
if (form2.ShowDialog() == DialogResult.OK) // 显示 From2 窗体
{
textBox1.Text = form2.SelectedData; // 将 From2 窗体中选中的数据赋值给 From1 窗体的 TextBox1
}
}
```
2. 在 From2 窗体上添加一个 DataGridView 控件,并为其添加双击事件,添加以下代码:
```
public string SelectedData { get; set; } // 添加一个属性,用于存储选中的数据
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
SelectedData = dataGridView1.CurrentRow.Cells[0].Value.ToString(); // 将选中的数据存储到 SelectedData 属性中
DialogResult = DialogResult.OK; // 设置窗体的 DialogResult 属性为 OK,表示用户已经完成操作
Close(); // 关闭 From2 窗体
}
```
这样,当用户在 From1 窗体上单击按钮时,会弹出 From2 窗体,并显示一个 DataGridView 控件。用户双击 DataGridView 中的某一行数据时,会将该行数据赋值给 From1 窗体上的 TextBox1。
winfrom richTextBox控件删除新增加的几条数据,继续新增数据
可以使用 `RichTextBox` 控件的 `Clear()` 方法清空所有文本,然后再重新添加需要保留的数据。
例如,假设你已经向 `RichTextBox` 控件中添加了一些数据,并且现在需要删除最后三行数据并继续添加新的数据,可以按照以下步骤操作:
```c#
// 获取当前文本框中的所有文本
string allText = richTextBox1.Text;
// 将文本按行分割成数组
string[] lines = allText.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
// 如果行数小于等于3,则直接清空所有文本
if (lines.Length <= 3)
{
richTextBox1.Clear();
}
else
{
// 获取除最后三行以外的所有文本
string newText = string.Join("\n", lines.Take(lines.Length - 3));
// 清空文本框
richTextBox1.Clear();
// 将保留的文本添加到文本框中
richTextBox1.AppendText(newText);
}
// 继续添加新的数据
richTextBox1.AppendText("新的数据1\n");
richTextBox1.AppendText("新的数据2\n");
// ...
```
这段代码会先将当前文本框中的所有文本获取到字符串 `allText` 中,然后将其按行分割成字符串数组 `lines`。接着,如果行数小于等于3,则直接清空所有文本;否则,将保留的文本存储到字符串 `newText` 中,并使用 `Clear()` 方法清空文本框,最后将保留的文本添加到文本框中。最后,你可以继续向文本框中添加新的数据。
阅读全文