从 PictureBox 自动更改 SizeMode 属性
Auto change the SizeMode property from a PictureBox
我有一个包含这些词的列表 { AutoSize,Normal,StretchImage,CenterImage,Zoom }
首先,我的用户将从列表中 select 一项,然后我需要将图片框的 属性 SizeMode 更改为他们的 selection。
我可以在不使用 if/switch-case 语句的情况下做一些事情吗?
If (size_mode_list.SelectedText = "AutoSize") Then
picture_box.SizeMode = PictureBoxSizeMode.AutoSize
ElseIf (size_mode_list.SelectedText = "Normal") Then
picture_box.SizeMode = PictureBoxSizeMode.Normal
ElseIf (size_mode_list.SelectedText = "StretchImage") Then
picture_box.SizeMode = PictureBoxSizeMode.StretchImage
ElseIf (size_mode_list.SelectedText = "CenterImage") Then
picture_box.SizeMode = PictureBoxSizeMode.CenterImage
ElseIf (size_mode_list.SelectedText = "Zoom") Then
picture_box.SizeMode = PictureBoxSizeMode.Zoom
End If
Can i make something without use of if/switch-case statements
一种方法是用枚举名称填充 CBO:
cbo.Items.AddRange([Enum].GetNames(GetType(PictureBoxSizeMode)))
然后解析结果:
pb.SizeMode = CType([Enum].Parse(GetType(PictureBoxSizeMode), cbo.Text),
PictureBoxSizeMode)
使用 .Text
或 SelectedItem.ToString()
并且 cbo 应该是一个 DropDownList 这样用户就不能输入任何东西。
您也可以编写一个小的 来将名称和值存储到列表中,然后使用 ValueMember
属性 设置大小模式,这样您就可以关闭枚举值而不是名称。
我有一个包含这些词的列表 { AutoSize,Normal,StretchImage,CenterImage,Zoom }
首先,我的用户将从列表中 select 一项,然后我需要将图片框的 属性 SizeMode 更改为他们的 selection。
我可以在不使用 if/switch-case 语句的情况下做一些事情吗?
If (size_mode_list.SelectedText = "AutoSize") Then
picture_box.SizeMode = PictureBoxSizeMode.AutoSize
ElseIf (size_mode_list.SelectedText = "Normal") Then
picture_box.SizeMode = PictureBoxSizeMode.Normal
ElseIf (size_mode_list.SelectedText = "StretchImage") Then
picture_box.SizeMode = PictureBoxSizeMode.StretchImage
ElseIf (size_mode_list.SelectedText = "CenterImage") Then
picture_box.SizeMode = PictureBoxSizeMode.CenterImage
ElseIf (size_mode_list.SelectedText = "Zoom") Then
picture_box.SizeMode = PictureBoxSizeMode.Zoom
End If
Can i make something without use of if/switch-case statements
一种方法是用枚举名称填充 CBO:
cbo.Items.AddRange([Enum].GetNames(GetType(PictureBoxSizeMode)))
然后解析结果:
pb.SizeMode = CType([Enum].Parse(GetType(PictureBoxSizeMode), cbo.Text),
PictureBoxSizeMode)
使用 .Text
或 SelectedItem.ToString()
并且 cbo 应该是一个 DropDownList 这样用户就不能输入任何东西。
您也可以编写一个小的 ValueMember
属性 设置大小模式,这样您就可以关闭枚举值而不是名称。