C#编写的一个界面 怎样实现dataGridView1里的内容在上面显示?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#编写的一个界面 怎样实现dataGridView1里的内容在上面显示?相关的知识,希望对你有一定的参考价值。

怎样实现点击dataGridView1控件里的 姓名、学号等,在上面的文本文框里显示出其所有的信息?麻烦大神!

dataGridView1控件有点击行事件,你对着dataGridView1右键属性,然后找到行事件那里然后就可以在行里面获取该行数据,然后赋值到你对应的textbox。

如下代码:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

    if (this.dataGridView1.SelectedRows != null && this.dataGridView1.SelectedRows.Count > 0)
    
        this.txtName.Text=this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
        //其它的文本框以此类推,改变Cells的索引值就可以了。
    

参考技术A 1、首先在CellClick事件中将当前选中的行设置为“选中行”
dataGridView1.Rows[e.RowIndex].Selected = true;
2、然后参考以下代码取出选中行的各单元格的数据
string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
3、最后将取出来的数据填入对应的文本框中
TextBox.Text = id;
参考技术B 使用数据绑定,大概如下:
DataTable dt=...;
this.dataGridView1.DataSource=dt;
this.txtStudentName.DataBindings.Clear();
this.txtStudentName.DataBindings.Add("Text",dt,"cStudentName");

欢迎追问。
参考技术C 1、定义DataGridView的选中方式为整行:
this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
2、接着定义一个DataGridView的单元格点击事件,在事件中把选中行的值显示到TextBox控件上(假定TextBox为默认名称,且顺序与DataGridView中列的顺序相同):
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

if (this.dataGridView1.SelectedRows != null && this.dataGridView1.SelectedRows.Count > 0)
for (int i = 1; i < 5; i++)
foreach (Control control in this.Controls)
if (control is TextBox)
if (control.Name == "textBox" + i.ToString())
((TextBox)control).Text = this.dataGridView1.SelectedRows[0].Cells[i].Value.ToString();

3、如果TextBox有自定义的名称,稍微修改一下就是了,比如“姓名”这个如果叫txtName,那么显示数据就是:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

if (this.dataGridView1.SelectedRows != null && this.dataGridView1.SelectedRows.Count > 0)

this.txtName.Text=this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
//其它的文本框以此类推,改变Cells的索引值就可以了。


希望对你有帮助,还有疑问请追问或是Hi本回答被提问者和网友采纳

C#编写网游客户端



一、项目初步设置


1. 新建项目

新建一个WIndows 窗体应用(.Net Framework)


设置项目名称和位置:


2. 界面设计

右击工具箱内的常规,点击选择项


勾选COM 组件下的Windows Media Player


界面如下:



二、连接服务器

Form中初始化进入游戏:

private NetworkStream stream;
private TcpClient tcpClient = new TcpClient();
public Form1()

    InitializeComponent();
    try
    
        //向指定的IP地址的服务器发出连接请求
        tcpClient.Connect("10.1.230.74", 3900);
        listBox1.Items.Add("连接成功!");
        stream = tcpClient.GetStream();
        byte[] data = new byte[1024];
        //判断网络流是否可读            
        if (stream.CanRead)
        
            int len = stream.Read(data, 0, data.Length);
            //Encoding ToEncoding = Encoding.GetEncoding("UTF-8");
            //Encoding FromEncoding = Encoding.GetEncoding("GB2312");
            //data=Encoding.Convert(FromEncoding, ToEncoding, data);
            //string msg = Encoding.UTF8.GetString(data, 0, data.Length);
            string msg = Encoding.Default.GetString(data, 0, data.Length);
            string str = "\\r\\n";
            char[] str1 = str.ToCharArray();
            string[] msg1 = msg.Split(str1);
            for (int j = 0; j < msg1.Length; j++)
            
                listBox1.Items.Add(msg1[j]);
            
        
    
    catch
    
        listBox1.Items.Add("服务器未启动!");
    



运行结果:



三、发送数据

设置确定按钮的name为btnSend,双击该按钮:

//判断连接是否断开
if (tcpClient.Connected)

    //向服务器发送数据
    string msg = textBox1.Text;
    Byte[] outbytes = System.Text.Encoding.Default.GetBytes(msg + "\\n");
    stream.Write(outbytes, 0, outbytes.Length);
    byte[] data = new byte[1024];
    //接收服务器回复数据
    if (stream.CanRead)
    
        int len = stream.Read(data, 0, data.Length);
        string msg1 = Encoding.Default.GetString(data, 0, data.Length);
        string str = "\\r\\n";
        char[] str1 = str.ToCharArray();
        string[] msg2 = msg1.Split(str1);
        for (int j = 0; j < msg2.Length; j++)
        
            listBox1.Items.Add(msg2[j]);
        
    

else

    listBox1.Items.Add("连接已断开");


运行结果:



四、播放背景音乐

设置播放停止按钮的name分别为btnPlaybtnStop:

播放音乐看不出效果,这里就不放运行结果了。



五、实现游戏背景图片变换

拖入一个timer,设置其EnableTrue


双击timer,编写代码:

int flag = 0;
private void timer1_Tick(object sender, EventArgs e)

    flag++;
    string picturePath = @"C:\\Users\\16438\\Desktop\\game1\\game1\\game1\\bin\\Debug\\img\\" + flag + ".jpg";
    pictureBox1.Image = Image.FromFile(picturePath);
    if (flag == 3)
    
        flag = 0;
    

运行结果:




六、总结

C#连接服务器十分方便。



参考

编写一个网游客户端

以上是关于C#编写的一个界面 怎样实现dataGridView1里的内容在上面显示?的主要内容,如果未能解决你的问题,请参考以下文章

(C#)winform界面超过屏幕范围的数量,则使用上一页、下一页的分页模式怎样实现?

用c#编写winform的一个用户登录界面,实现功能点击登录进入主界面,包括数据库的链接

C#winform里界面设计时怎样添加快捷方式

C#操作sql查询出的临时表,详细如下:

C# WPF 后台代码怎样实现 RenderTransform 效果呢?

C# WPF 后台代码怎样实现 RenderTransform 效果呢?