比如我的listview有字段: ID name desc
数据: 100 主机 机箱内的硬件组合我想双击这一行数据,后链结出另一个form2,form2中有textBox1显示“100”,textBox2显示“主机”,richtextBox1显示“机箱内的硬件组合”?请问怎么编程实现啊?
数据: 100 主机 机箱内的硬件组合我想双击这一行数据,后链结出另一个form2,form2中有textBox1显示“100”,textBox2显示“主机”,richtextBox1显示“机箱内的硬件组合”?请问怎么编程实现啊?
解决方案 »
- 请教wininet.dll中的InternetSetOption函数的小问题
- 怎么写程序实现
- C#如何执行其它程序托盘图标右键菜单
- .net中如何手动释放线程句柄
- 我在安装VS 2005时,发现有sql 2005 express 的选项,但装完后sql 2005不能用,这是怎会事啊?
- ············关于在remoting中传输SqlParameter的问题,请高手回答。是不是没有解决方法?100分
- C#中如何获得图像的色值?(一道简单的问题,大家快来看看。。。...)
- 如何判断对指定网站的连接是否成功?
- 这个Invoke方法怎么解释?
- 怎么用程序ping一个地址
- 新手学习中,希望指点
- 我想用c#三层结构的oa换c#三层结构的全站程序学习。
this.myListView.SelectedItems[0].SubItems[0].Text;100
this.myListView.SelectedItems[0].SubItems[1].Text; 主机
this.myListView.SelectedItems[0].SubItems[2].Text;机箱内的硬件组合
传给新窗体。
{
form2 dataform = new form2();
dataform.Show();
dataform.textBox1.Text = this.myListView.SelectedItems[0].SubItems[0].Text;
dataform.textBox2.Text = this.myListView.SelectedItems[0].SubItems[1].Text;
dataform.richtextBox1.Text = this.myListView.SelectedItems[0].SubItems[2].Text;
}
/// 作者: 美迪斯--从不受伤痕的身体
/// 说明: 初始化ListView的列标题和子行
/// 参数1: System.Windows.Forms.ListView : ListView实际对象.
/// 参数5: int[] lsvWidth
/// </summary>
public static void initListViewTol(System.Windows.Forms.ListView lsv,string[] lvArray,int[] lsvWidth)
{
for(int j = 0;j<lvArray.Length;j++)
{
lsv.Columns.Add(lvArray[j].Trim(),lsvWidth[j], HorizontalAlignment.Left);
}
string[] ddd = new string[2];
for(int t = 0;t<38;t++)
{
ddd[0] = "";
ddd[1] = "";
lsv.Items.Insert(t,new ListViewItem(ddd));
}
}
/// <summary>
/// 作者: 星矢--天马小英雄
/// 说明: 初始化ListView的列标题和子行
/// 参数1: System.Windows.Forms.ListView : ListView实际对象.
/// 参数2: string[] lvArray : ListView上列的值.
/// 参数3: System.Data.DataSet dsT :DataSet对象用来遍历数据库的行
/// 参数4: string lsTable :要绑定的表的名字
/// 参数5: int[] lsvWidth
/// </summary>
public static void initListView(System.Windows.Forms.ListView lsv,string[] lvArray,System.Data.DataSet dsT,string lsTable,int[] lsvWidth)
{
//开始更新
lsv.BeginUpdate();
for(int j = 0;j<lvArray.Length;j++)
{
//添加ListView的列
lsv.Columns.Add(lvArray[j].Trim(),lsvWidth[j], HorizontalAlignment.Left);
//lsv.Columns[j].Width = 20;
}
for(int i=0;i<dsT.Tables[lsTable].Rows.Count;i++)
{
string[] dsCollection = new string[19];
for(int k = 0;k<dsT.Tables[lsTable].Columns.Count;k++)
{
//添加列下的行
dsCollection[k] = dsT.Tables[lsTable].Rows[i].ItemArray[k].ToString();
}
lsv.Items.Insert(i,new ListViewItem(dsCollection));
}
//结束更新
lsv.FullRowSelect = true;
lsv.EndUpdate();
dsT.Dispose();
} /// <summary>
/// 初始化ListView行&列,纵向
/// 参数1: ListView lsvt:ListView对象
/// 参数2: string lvTable 表名
/// 参数3: string[] Text 字段名
/// 参数4 DataSet dsS DataSet值
/// 作者: 冰河--白鸟,冰源战士
/// </summary>
public static void initColumns(ListView lsvt,/*string[] ListColumns,int[] lsvtWidth,*/string lvTable,string[] Text,DataSet dsS)
{
lsvt.BeginUpdate();
for(int i=0;i<dsS.Tables[lvTable].Columns.Count;i++)
{
string[] dsRow = new string[19];
dsRow[0] = Text[i];
dsRow[1] = dsS.Tables[lvTable].Rows[0].ItemArray[i].ToString();
lsvt.Items.Insert(i,new ListViewItem(dsRow));
}
lsvt.FullRowSelect = false;
lsvt.CheckBoxes = false;
lsvt.EndUpdate();
dsS.Dispose();
}
/// <summary>
/// 修改ListView行上的列值(指定列)
/// 参数1: ListView lsvt: ListView对象
/// 参数2: 表名
/// 参数3: 1列的行值
/// 参数4: DataSet对象
/// 作者: 星矢2-伤痕--男子汉的勋章
/// </summary>
public static void updateListView(ListView lsvt,string lvTable,string[] Text,DataSet dsS)
{
for(int i=0;i<dsS.Tables[lvTable].Columns.Count;i++)
{
string bbb = dsS.Tables[lvTable].Rows[0].ItemArray[i].ToString();
lsvt.Items[i].SubItems[0].Text = Text[i];
lsvt.Items[i].SubItems[1].Text = dsS.Tables[lvTable].Rows[0].ItemArray[i].ToString();
}
dsS.Dispose();
} /// <summary>
/// 修改ListView行上的列值(指定列)
/// 参数1: ListView lsvMo: ListView对象
/// 参数2: string[] strMo: 要修改的值
/// 作者: 邪武-独角兽速拳
/// </summary>
public static void Modifiy(ListView lsvMo,string[] strMo)
{
lsvMo.SelectedItems[0].SubItems[0].Text = strMo[0];
lsvMo.SelectedItems[0].SubItems[1].Text = strMo[1];
lsvMo.SelectedItems[0].SubItems[3].Text = strMo[2];
} /// <summary>
/// 修改ListView行上的列值
/// 参数1: ListView lsvMo: ListView对象
/// 参数2: string[] strMo: 要修改的值
/// 作者: 紫龙--情谊之最
/// </summary>
public static void Modifiys(ListView lsvMo,string[] strMo)
{
for(int i = 0;i<strMo.Length;i++)
{
lsvMo.SelectedItems[0].SubItems[i].Text = strMo[i];
}
} /// <summary>
/// 添加ListView行,只添加一行
/// 参数1: ListView lst 传入ListView的对象
/// 参数2: string[] addRow 要添加行的列值
/// 参数2: int itemNumber 要添加行的位置
/// 作者: 一辉--死亡皇后岛上的圣斗士
/// </summary>
public static void addListViewRow(ListView lst,string[] addRow,int itemNumber)
{
lst.Items.Insert(itemNumber,new ListViewItem(addRow));
//lsvAdd.Items[itemNumber].ImageIndex = 0;
}
/// <summary>
/// 返回ListView中选中的信息
/// 参数: 传入ListView的对象
/// 作者: 加隆--幕后的操纵者
/// </summary>
public static string[] ListViewValues(System.Windows.Forms.ListView ls)
{
lvName = ls.Name; //名字
string[] LitValue = new string[19]; //动态分配数组大小
if(ls.SelectedItems.Count>0)
{
//Columns
for(int i = 0 ;i<ls.SelectedItems[0].SubItems.Count;i++)
{
LitValue[i] = ls.SelectedItems[0].SubItems[i].Text;
}
}
return LitValue;
}
/// ListView中选中的信息向下移动
/// 参数: 传入ListView的对象
/// 作者: 沙加--最接近神的男人
/// </summary>
public static void RowNext(ListView lvsNext)
{
if(lvsNext .SelectedItems !=null&&lvsNext.SelectedIndices .Count >0)
{
int i = lvsNext.SelectedIndices[0];
if(i == lvsNext.Items.Count-1)
{
lvsNext.Items[i].Selected = true;
lvsNext.Focus();
}
else if(i+1 <lvsNext.Items.Count)
{
lvsNext.Items[i+1].Selected = true;
lvsNext.Focus();
}
}
} /// <summary>
/// ListView中选中的信息向上移动
/// 参数: 传入ListView的对象
/// 作者: 撒加--神的化身
/// </summary>
public static void RowPrevious(ListView lvsPrevious)
{
if(lvsPrevious .SelectedItems !=null&&lvsPrevious.SelectedIndices .Count >0)
{
int i = lvsPrevious.SelectedIndices[0];
if(i == 0)
{
lvsPrevious.Items[i].Selected = true;
lvsPrevious.Focus();
}
else if(i > 0)
{
lvsPrevious.Items[i-1].Selected = true;
lvsPrevious.Focus();
}
}
} /// <summary>
/// 显示ListView中的信息在第一行
/// 参数: 传入ListView的对象
/// 作者: 穆先生--和蔼的白羊座
/// </summary>
public static void RowFirst(ListView lvslsvFirst)
{
lvslsvFirst.Items[0].Selected = true;
lvslsvFirst.Focus();
} /// <summary>
/// 显示ListView中的信息在最后一行
/// 参数: 传入ListView的对象
/// 作者: 修罗--伟大的圣剑
/// </summary>
public static void RowLast(ListView lvsLast)
{
lvsLast.Items[lvsLast.Items.Count-1].Selected = true;
lvsLast.Focus();
} /// <summary>
/// ListView中选中的信息保持状态
/// 参数: 传入ListView的对象
/// 作者: 沙加--最接近神的男人
/// </summary>
public static void RowKeep(ListView lvsKeep)
{
if(lvsKeep .SelectedItems !=null&&lvsKeep.SelectedIndices .Count >0)
{
int i = lvsKeep.SelectedIndices[0];
if(i <lvsKeep.Items.Count)
{
lvsKeep.Items[i].Selected = true;
lvsKeep.Focus();
}
}
} /// <summary>
/// ListView中选中的信息不被选中
/// 参数: 传入ListView的对象
/// 作者: 艾尔扎克--俄罗斯冰神拳
/// </summary>
public static void RowFalse(ListView lvsFalse)
{
if(/*lvsFalse .SelectedItems !=null&&*/lvsFalse.SelectedIndices.Count >0)
{
int i = lvsFalse.SelectedIndices[0];
lvsFalse.Items[i].Selected = false;
}
}
数据: 100 主机 机箱内的硬件组合我想双击这一行数据,后链结出另一个form2,form2中有textBox1显示“100”,textBox2显示“主机”,richtextBox1显示“机箱内的硬件组合”?再双击事件中可以提取出选定行.
this.listView1.SelectedItems[0].Text //取出ID字段
this.listView1.SelectedItems[0].SubItems[1].Text //取出name字段
this.listView1.SelectedItems[0].SubItems[2].Text //取出desc字段
再双击事件中可以提取出选定行.
this.listView1.SelectedItems[0].Text //取出ID字段
this.listView1.SelectedItems[0].SubItems[1].Text //取出name字段
this.listView1.SelectedItems[0].SubItems[2].Text //取出desc字段
Form2 form2 = new Form2();
from2.tempID = this.listView1.SelectedItems[0].Text;
from2.showDialog(this);在Form2中可以建立 public string tempID;
this.listView1.SelectedItems[0].SubItems[1].Text
this.listView1.SelectedItems[0].SubItems[2].Text
Form2 form2 = new Form2();
from2.tempID = this.listView1.SelectedItems[0].Text;
from2.showDialog(this);在Form2中可以建立 public string tempID;
使用公共变量
不可访问“WindowsApplication1.Form5.textBox1”,因为它受保护级别限制
不可访问“WindowsApplication1.Form5.textBox2”,因为它受保护级别限制
为什么啊?