VB 模拟表格:含图片选择和右键菜单功能
{/'title/':/'VB 模拟表格:含图片选择和右键菜单功能/', /'description/':/'本示例代码使用 VB.NET 实现一个模拟表格,包含图片选择和右键菜单功能。用户可以选中单元格内的图片,并通过右键菜单选择其他操作。/', /'keywords/':/'VB.NET, 表格, 模拟, 图片选择, 右键菜单, DataGridView, ContextMenuStrip, 事件处理/', /'content/':/'///'Imports System.Windows.Forms//n//nPublic Class Form1//n Inherits Form//n//n Private WithEvents dataGridView1 As New DataGridView()//n Private WithEvents contextMenu1 As New ContextMenuStrip()//n Private selectedImage As Image//n//n Public Sub New()//n ' 初始化表格控件//n dataGridView1.Dock = DockStyle.Fill//n Controls.Add(dataGridView1)//n//n ' 初始化右键菜单//n contextMenu1.Items.Add(///'选中图片///')//n contextMenu1.Items.Add(///'右键菜单项1///')//n contextMenu1.Items.Add(///'右键菜单项2///')//n//n ' 设置表格的右键菜单//n dataGridView1.ContextMenuStrip = contextMenu1//n End Sub//n//n ' 选中右键菜单项时的事件处理程序//n Private Sub MenuItem_Click(sender As Object, e As EventArgs) Handles contextMenu1.ItemClicked//n Dim selectedItem As ToolStripMenuItem = CType(sender, ToolStripMenuItem)//n//n If selectedItem.Text = ///'选中图片///' Then//n ' 显示一个文件对话框,让用户选择图片文件//n Dim openFileDialog1 As New OpenFileDialog()//n openFileDialog1.Filter = ///'图片文件|.jpg;.jpeg;*.png///'//n openFileDialog1.Title = ///'选择图片文件///'//n If openFileDialog1.ShowDialog() = DialogResult.OK Then//n ' 加载选中的图片文件//n selectedImage = Image.FromFile(openFileDialog1.FileName)//n ' 在消息框中显示选中的图片//n MessageBox.Show(///'选中了图片:///' & openFileDialog1.FileName)//n End If//n Else//n ' 处理其他的右键菜单项//n MessageBox.Show(///'选中了右键菜单项:///' & selectedItem.Text)//n End If//n End Sub//n//n ' 在表格中右键单击时的事件处理程序//n Private Sub dataGridView1_MouseClick(sender As Object, e As MouseEventArgs) Handles dataGridView1.MouseClick//n If e.Button = MouseButtons.Right Then//n ' 获取鼠标右键的坐标//n Dim mousePosition As Point = dataGridView1.PointToClient(Cursor.Position)//n ' 在鼠标右键的位置显示右键菜单//n contextMenu1.Show(dataGridView1, mousePosition)//n End If//n End Sub//n//n ' 在表格中选中单元格时的事件处理程序//n Private Sub dataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles dataGridView1.CellClick//n ' 判断选中的单元格是否包含图片//n If dataGridView1.Columns(e.ColumnIndex).DefaultCellStyle.NullValue IsNot Nothing Then//n ' 获取选中单元格的图片//n selectedImage = CType(dataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value, Image)//n ' 在消息框中显示选中的图片//n MessageBox.Show(///'选中了图片///')//n End If//n End Sub//n//n ' 在表格中绘制单元格时的事件处理程序//n Private Sub dataGridView1_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles dataGridView1.CellPainting//n ' 判断单元格是否包含图片//n If e.ColumnIndex >= 0 AndAlso e.RowIndex >= 0 AndAlso dataGridView1.Columns(e.ColumnIndex).DefaultCellStyle.NullValue IsNot Nothing Then//n ' 绘制单元格背景//n e.PaintBackground(e.CellBounds, True)//n ' 绘制图片//n e.Graphics.DrawImage(CType(dataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value, Image), e.CellBounds.Location)//n e.Handled = True//n End If//n End Sub//n//n Public Shared Sub Main()//n Application.Run(New Form1())//n End Sub//nEnd Class//n//n这段代码创建了一个包含表格控件的窗体,当在表格中选中单元格时,会显示一个消息框提示选中了图片。当在表格中右键单击时,会显示一个右键菜单,其中包括一个选中图片的菜单项。选中图片的菜单项会弹出一个文件对话框,让用户选择图片文件,并在消息框中显示选中的图片文件路径。/
原文地址: https://www.cveoy.top/t/topic/pGLj 著作权归作者所有。请勿转载和采集!