在鼠标上弹出一个文本框,单击一个图片框添加到网格视图
本文关键字:一个 添加 视图 网格 单击 文本 鼠标 | 更新日期: 2023-09-27 18:06:20
我尝试以不同的方式将http://stackoverflow.com/questions/5549150/popping-up-a-textbox-on-mouse-click-over-a-picturebox-for-adding-custom-note-to-p应用到我的项目中。当我点击图片框时,文本框应该出现,在点击位置关闭后,输入的值应该与以前的数据逐行转到datagridview。
但是在这个方法中,所有之前的数据都会被清除。我该怎么调整呢
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
// in this case we create a TextBox, but the
// PopupForm can hold any type of control.
TextBox textBox = new TextBox();
Point location = pictureBox1.PointToScreen(e.Location);
PopupForm form = new PopupForm(textBox, location, () => this.addToGrid(textBox.Text,e.Y));
form.Show();
}
private void addToGrid(String s,int loc)
{
DataGridViewRow row = new DataGridViewRow(); this.dataGridView1.Rows.Add(row);
this.dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[0].Value = loc.ToString();
this.dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[1].Value = s;
}
我认为要解决你的问题,你需要这样做:
private void addToGrid(String s,int loc)
{
//create a new row
DataGridViewRow row = new DataGridViewRow();
//after initialize values
row.Cells[0].Value = loc.ToString();
row.Cells[1].Value = s;
//add row to grid
this.dataGridView1.Rows.Add(row);
}