怎么可以在ComboBox选择处理之前得到通知,并且可以取消本次选择?

浅蓝马 2005-05-13 10:29:46
我需要实现在combobox选择另外子项之前,提示“当前选择的项目已改变的内容将不会被保存,是否继续?”,用户选择是的话,就处理选择之后另一个项目的处理,如果选择否的话,还保持在当前的选择的项目上。请问哪位可以告诉我实现的方法?
(在SelectedIndexChanged事件中处理,选择否,再返回上次选择的方法,我觉得不大好,因为combobox已经显示了所选择的项目。)
...全文
199 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bacher19 2005-05-16
  • 打赏
  • 举报
回复
不能用dropdown事件来弹出对话框吗
浅蓝马 2005-05-14
  • 打赏
  • 举报
回复
算了,结贴吧。
Paradise_heida 2005-05-13
  • 打赏
  • 举报
回复
Sorry,如果是Winform不行。 ^^
Paradise_heida 2005-05-13
  • 打赏
  • 举报
回复

用JS实现
浅蓝马 2005-05-13
  • 打赏
  • 举报
回复
我所用的combobox的DropDownStyle属性是 DropDownList,
这种情况下,text就会改变的。
水如烟 2005-05-13
  • 打赏
  • 举报
回复
Text没有改变,你试试看.
浅蓝马 2005-05-13
  • 打赏
  • 举报
回复
to lzmtw(水如烟)
虽然SelectionChangeCommitted先于SelectedValueChanged和SelectedIndexChanged触发,
但其实combobox的选择已经更改,combobox中所显示的内容已经发生了改变。
与在SelectedValueChanged或者SelectedIndexChanged中进行处理,把原先選的值再重新賦回去,
并没有实质上的不同。
我想实现的是message box提示对话框弹出的时候,combobox还是上次选择的内容。
不知道还有没有更好的方法?
水如烟 2005-05-13
  • 打赏
  • 举报
回复
SelectionChangeCommitted先于SelectedValueChanged
水如烟 2005-05-13
  • 打赏
  • 举报
回复
Dim NowIndex As Integer = -1
Private Sub ComboBox1_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectionChangeCommitted
If Not NowIndex.Equals(Me.ComboBox1.SelectedIndex) Then
If MsgBox("真的更改吗?", MsgBoxStyle.OKCancel, "注意") = MsgBoxResult.OK Then
'处理
NowIndex = Me.ComboBox1.SelectedIndex
Else
'不处理
Me.ComboBox1.SelectedIndex = NowIndex
End If
End If
End Sub
qibo2002 2005-05-13
  • 打赏
  • 举报
回复
同意 feitianyyj(飞雪连天
重新賦把
feitianyyj 2005-05-13
  • 打赏
  • 举报
回复
(在SelectedIndexChanged事件中处理,选择否,再返回上次选择的方法,我觉得不大好,因为combobox已经显示了所选择的项目。)


你這時候不可以把原先選的值再重新賦回去嗎

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧