.Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu

时间:2022-04-21 15:28:38

最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便

样式一

一、目标样式

.Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu

我们要实现上图中的效果,需要如下的操作:

1.从工具栏上的”Smobiler Components”拖动一个GridView控件和一个ContextMenu控件到窗体界面上

.Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu

2.修改GridView控件的属性

a.load事件代码

VB:
Private Sub TestContextMenu_Load(sender As Object, e As EventArgs)Handles MyBase.Load
Dim matTable As New DataTable
matTable.Columns.Add("MAT_IMG", GetType(String))
matTable.Columns.Add("MAT_DESC1", GetType(String))
matTable.Rows.Add()
matTable.Rows(0)("MAT_IMG") = "log"
matTable.Rows(0)("MAT_DESC1") = "COMS"
matTable.Rows.Add()
matTable.Rows(1)("MAT_IMG") = "logon"
matTable.Rows(1)("MAT_DESC1") = "smobiler"
Me.gridView1.DataSource = matTable
Me.gridView1.DataBind() End Sub
C#:
private void TestContextMenu_Load(object sender, EventArgs e)
{
DataTable matTable = new DataTable();
matTable.Columns.Add("MAT_IMG", typeof(string));
matTable.Columns.Add("MAT_DESC1", typeof(string));
matTable.Rows.Add();
matTable.Rows[0]["MAT_IMG"] = "log";
matTable.Rows[0]["MAT_DESC1"] = "COMS";
matTable.Rows.Add();
matTable.Rows[1]["MAT_IMG"] = "logon";
matTable.Rows[1]["MAT_DESC1"] = "smobiler";
this.gridView1.DataSource = matTable;
this.gridView1.DataBind();
}

b.CellLongClick事件代码

VB:
Private Sub gridView1_CellLongClick(sender As Object, e As GridViewCellEventArgs) Handles gridView1.CellLongClick
contextMenu1.Show()
End Sub
C#:
private void gridView1_CellLongClick(object sender, GridViewCellEventArgs e)
{
contextMenu1.Show();
}

注:调用ContextMenu控件

c.Layout属性

新创建MobileForm项,并命名为MessageShow,并拖入一个Label控件和一个Image控件,如图1;

Label1的DataMember属性(绑定需要显示的列),如图2;

contextmenu的Layout属性,绑定新建的窗体MessageShow1,如图3;

.Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu .Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu .Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu
图1 图2 图3

3.修改ContextMenu控件的属性

a.BackColor属性

获取或设置ContextMenuItem的背景,默认设置为“White”,如图1;

b.Items属性

打开集合编辑器,并点击"添加",ForeColor属性(文本颜色),Icon属性(Item的Icon图像资源),Text属性(Item的文本),Value属性(内部值,不在界面上显示),如图2、图3;

c.ShowPosition属性

设置ContextMenu显示的位置,默认设置为“LastTouch”,表示显示在最后触摸的地方,如图4;

若将该属性设置为“CenterScreen”,则表示显示在屏幕中心。

.Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu .Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu .Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu .Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu
图1 图2 图3 图4

二、手机效果显示

.Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu .Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu