DevExpress弹框、右键菜单、Grid的使用

很重要!!!Dev为了区分winform的命名,会把一些新添加的属性放在Properties对象里!!找不到想要的属性,记得到里面找找哦!

一、下拉框

在这里假设我们的数据源是db.List(),在这里我主要讲述关于数据源绑定的方式。

1、winform的下拉框【comboBox】

!!下拉框的绑定需要三个:数据源,显示值,隐藏值

this.comboBox.DisplayMember="DisplayName";//数据源字段名称【显示值】
this.comboBox.ValueMember = "ValueName";//数据源字段名称【隐藏值】
this.comboBox.DataSource=db.toList();//绑定数据源

2、Dev的下拉框【comboBoxEdit和lookUpEdit】

!!前者没办法绑定数据源,只能通过遍历的方式去添加数据,后者可以绑定数据源,且功能强大!!很重要!!!Dev为了区分winform的命名,会把一些新添加的属性放在Properties对象里!!找不到想要的属性,记得到里面找找哦!

(1)comboBoxEdit的遍历绑定数据

this.comboBoxEdit1.Properties.Items.Add("请选择");
this.comboBoxEdit1.Properties.Items.Add("中国");
this.comboBoxEdit1.Properties.Items.Add("美国");

(2)lookUpEdit的遍历绑定数据

this.lookUpEdit1.Properties.DisplayMember ="DisplayName";//数据源字段名称【显示值】
this.lookUpEdit1.Properties.ValueMember = "ValueName";//数据源字段名称【隐藏值】
this.lookUpEdit1.Properties.DataSource = db.toList();//绑定数据源

那么这个到底强大在哪里呢??它可以显示更多的字段,而不是在局限于一个显示字段。

二、弹出窗

1、winform的弹出窗【MessageBox】

MessageBox.Show("内容");

2、Dev的弹出窗【XtraMessageBox和alertControl右下角弹出窗】

(1)XtraMessageBox用法

XtraMessageBox.Show("内容");

(2)alertControl用法(需要往窗口拖一下控件)

this.alertControl1.Show(this,"提示","您有一封消息");//this当前窗体,“提示”标题,“您有一封消息”内容


点击事件是AlertClick

三、右键菜单

1、winform的右键菜单【contextMenuStrip】

这个没啥说的类,在需要的控件上绑定一下就好了

2、Dev的右键菜单【popupMenu和barManager】


!!在这里提示一下,这是一个组合控件,单独用popupMenu就会出现上面的情况,我们还需要控件barManager


当俩个控件都拖动后,会自动形成绑定


这样子才可以使用嘞!

!popupMenu和barManager案例

第一步、添加右键菜单内容

第二步、页面实现右键功能

给窗口添加一个点击事件

private void XtraForm3_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)//如果点击为右键
{
//激活右键菜单
//new Point(Cursor.Position.X,Cursor.Position.Y)鼠标所在焦点
this.popupMenu1.ShowPopup(new Point(Cursor.Position.X, Cursor.Position.Y));
}
}

四、Grid控件获取选中的数据

1、winform获取选中数据

(1)、单个选中

private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
//获取当前点中单元格的值
string content = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
//获取当前选中行数据
=var data = this.dataGridView1.Rows[e.RowIndex].DataBoundItem;
MessageBox.Show(content);
}

(2)、整行选中

在窗体加载事件,设置

//设置为整行选中
this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
//获取当前点中单元格的值
string content = this.dataGridView1.SelectedRows[0].Cells[e.ColumnIndex].Value.ToString();
//获取当前选中行数据
var data = this.dataGridView1.SelectedRows[0].DataBoundItem;
MessageBox.Show(content);
}

2、Dev获取选中数据【gridControl】

private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
//焦点所在的数据
string content = this.gridView1.GetFocusedValue().ToString();
//焦点所在的数据行
var data = this.gridView1.GetFocusedRow();
MessageBox.Show(content);
}

结束语

学习要一步一步来,一步吃不成大胖子!

posted @   张缺缺  阅读(2127)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示