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