首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Msgbox YesNo误差

Msgbox YesNo误差
EN

Stack Overflow用户
提问于 2016-07-17 11:40:45
回答 4查看 99关注 0票数 2

我得到以下错误消息:表达式是一个值,因此不能成为分配的目标。

对于此代码

代码语言:javascript
复制
MsgBox("Do you really wish to delete " & txtLayerDelete.Text & "?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes

txtLayerDelete在UserControl上。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-07-17 11:45:28

您已经尝试分配MsgBox,并且没有使用该方法的返回值。

代码语言:javascript
复制
MsgBox("Do you really wish to delete " & txtLayerDelete.Text & "?", MsgBoxStyle.YesNo)

如果要向用户显示消息框,此方法将返回您应该使用的MsgBoxResult对象,如下所示。

代码语言:javascript
复制
Dim delete =  MsgBox("Do you really wish to delete " & txtLayerDelete.Text & "?", MsgBoxStyle.YesNo)

If delete = MsgBoxResult.Yes Then
  'Your logic
End If 

您只需添加一个If语句就可以了:

代码语言:javascript
复制
If MsgBox("Do you really wish to delete?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then

End If

另外需要注意的是,MsgBox函数似乎已经过时,您应该尝试使用MessageBox.Show

代码语言:javascript
复制
Dim delete = MessageBox.Show("Should this item be deleted", "Form Title", MessageBoxButtons.YesNo)

If delete = DialogResult.Yes Then

End If
票数 0
EN

Stack Overflow用户

发布于 2016-07-17 11:48:16

这边试试。注意,MsgBox和MessageBox返回的结果是枚举值。MsgBox被MessageBox取代

代码语言:javascript
复制
    Dim result As DialogResult = MessageBox.Show("Do you really wish to delete " & txtLayerDelete.Text & "?", , MessageBoxButtons.YesNo)
    If result = Windows.Forms.DialogResult.Yes Then

    End If
票数 1
EN

Stack Overflow用户

发布于 2016-07-17 12:18:35

你没有使用返回值的方法,我的朋友。

它应该是:

代码语言:javascript
复制
`Dim dialogDel = MsgBox("Do you really wish to delete " & txtLayerDelete.Text & "?", MsgBoxStyle.YesNo)`

If dialogDel = DialogResult.Yes Then
 'Yes code.
Else
 'No code
End If

欢迎:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38420802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档