将所选列表框项从ownform传递到主窗体 - C#
我在主窗体中有一个datagridview。通过单击datagridview的特定列,它将打开子表单或ownedform(动态创建)。拥有的表单有一个列表框和一个OK按钮。当用户从列表框中选择一个项目并单击确定时,所选文本需要出现在datagridview单元格上。但是当我点击OK时我无法得到结果。我也没有收到任何错误。这是代码
注意:如果使用文本框而不是列表框,我可以传递值到datagridview。我只是不知道如何处理列表框来传递价值。
动态创建所有形式的代码&添加控件
Hi, I have a datagridview in the main form. By clicking on a particular column of datagridview, it will open the sub form or ownedform(dynamically created). The owned form have a listbox and an OK button. When The user selects an item from listbox and click OK then selected text needs to be appear on the datagridview cell. But when i click OK i couldn't get the result. I am not receiving any error neither.Here's the code
NOTE: If use Textbox instead of listbox, i am able to pass the value to datagridview. I just don't know the way to handle listbox to pass value.
CODE FOR DYNAMICALLY CREATING OWNED FORM & ADDING CONTROLS
private List
BUTTON点击事件处理程序 - 不工作(列表框)
BUTTON CLICK EVENT HANDLER - NOT WORKING (LISTBOX)
private void dbtn_Click_SIGTB(object sender, EventArgs e)
{
int rowidx = dataGridView3.CurrentCell.RowIndex;
int colidx = dataGridView3.CurrentCell.ColumnIndex;
foreach(ListBox lb in inputlistboxes)
{
string selected = lb.GetItemText(lb.SelectedItem);
dataGridView2.Rows[rowidx].Cells[colidx].Value = selected;
}
foreach (Form frm in ownform)
frm.Close();
}
BUTTON EVAND HANDLER - WORKING(TEXTBOX)
BUTTON EVENT HANDLER - WORKING (TEXTBOX)
private void dbtn_Click_VARTB(object sender, EventArgs e)
{
int rowidx = dataGridView2.CurrentCell.RowIndex;
int colidx = dataGridView2.CurrentCell.ColumnIndex;
foreach (TextBox txt in inputTextBoxes)
dataGridView2.Rows[rowidx].Cells[colidx].Value = txt.Text;
foreach (Form frm in ownform)
frm.Close();
}
DATAGRIDVIEW CELL CONTENT CLICK
DATAGRIDVIEW CELL CONTENT CLICK
private void dataGridView3_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView3.CurrentCell.ColumnIndex.Equals(3))
{
ShowMyOwnedForm_SIGTB();
}
}
我尝试了什么:
private void dbtn_Click_SIGTB(object sender,EventArgs e)
{
int rowidx = dataGridView3.CurrentCell.RowIndex ;
int colidx = dataGridView3.CurrentCell.ColumnIndex;
foreach(输入列表框中的ListBox lb)
{
string selected = lb.GetItemText(lb.SelectedItem);
dataGridView2.Rows [rowidx] .Cells [colidx] .Value = selected;
}
foreach(表格frm in ownform)
frm.Close();
}
What I have tried:
private void dbtn_Click_SIGTB(object sender, EventArgs e)
{
int rowidx = dataGridView3.CurrentCell.RowIndex;
int colidx = dataGridView3.CurrentCell.ColumnIndex;
foreach(ListBox lb in inputlistboxes)
{
string selected = lb.GetItemText(lb.SelectedItem);
dataGridView2.Rows[rowidx].Cells[colidx].Value = selected;
}
foreach (Form frm in ownform)
frm.Close();
}
只需更新您的dbtn_Click_SIGTB
函数,如下所示:
hi just update yourdbtn_Click_SIGTB
function as follows,
private void dbtn_Click_SIGTB(object sender, EventArgs e)
{
int rowidx = dataGridView3.CurrentCell.RowIndex;
int colidx = dataGridView3.CurrentCell.ColumnIndex;
foreach(ListBox lb in inputlistboxes)
{
string selected = lb.Items[lb.SelectedIndex].ToString(); //lb.GetItemText(lb.SelectedItem);
dataGridView2.Rows[rowidx].Cells[colidx].Value = selected;
}
foreach (Form frm in ownform)
frm.Close();
}