代码如下:'接收文件信息的接收回调
Private Sub FileInfoCallBack(ByVal ar As IAsyncResult)
Link = CType(ar.AsyncState, Socket)
Dim Buff As Integer = Link.EndReceive(ar) '过度到连接成功的套接字用
SaveFileDialog1.DialogShow(Me)
End Sub用F10单步调试,代码确实执行了这一步,如果用SaveFileDialog1.DialogShow(Me),程序就会死机,如果用SaveFileDialog1.DialogShow(),程序不会死,但对话框看不到用下列代码没有问题:
Private Sub CFrmClient_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SaveFileDialog1.DialogShow()
End Sub因为FileInfoCallBack是个回调函数,是不是回调函数不准显示这种对话框?
Private Sub FileInfoCallBack(ByVal ar As IAsyncResult)
Link = CType(ar.AsyncState, Socket)
Dim Buff As Integer = Link.EndReceive(ar) '过度到连接成功的套接字用
SaveFileDialog1.DialogShow(Me)
End Sub用F10单步调试,代码确实执行了这一步,如果用SaveFileDialog1.DialogShow(Me),程序就会死机,如果用SaveFileDialog1.DialogShow(),程序不会死,但对话框看不到用下列代码没有问题:
Private Sub CFrmClient_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SaveFileDialog1.DialogShow()
End Sub因为FileInfoCallBack是个回调函数,是不是回调函数不准显示这种对话框?
有这个方法吗?应该是ShowDialog()吧?
ByVal e As System.EventArgs) Handles Button2.Click
' Displays a SaveFileDialog so the user can save the Image
' assigned to Button2.
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif"
saveFileDialog1.Title = "Save an Image File"
saveFileDialog1.ShowDialog()
' If the file name is not an empty string open it for saving.
If saveFileDialog1.FileName <> "" Then
' Saves the Image via a FileStream created by the OpenFile method.
Dim fs As System.IO.FileStream = Ctype _
(saveFileDialog1.OpenFile(), System.IO.FileStream)
' Saves the Image in the appropriate ImageFormat based upon the
' file type selected in the dialog box.
' NOTE that the FilterIndex property is one-based.
Select Case saveFileDialog1.FilterIndex
Case 1
Me.button2.Image.Save(fs, _
System.Drawing.Imaging.ImageFormat.Jpeg) Case 2
Me.button2.Image.Save(fs, _
System.Drawing.Imaging.ImageFormat.Bmp) Case 3
Me.button2.Image.Save(fs, _
System.Drawing.Imaging.ImageFormat.Gif)
End Select fs.Close()
End If
End Sub
楼上的高手,如何“触发主窗体的Show方法”?我这个已经是主窗体了呀
//预先定义委托
state.rtxtRunLog.Invoke((new ClearextHandlder(state.rtxtRunLog.Clear)));
//通过委托调用主窗体的方法,其中
//state是Form的实例
//rtxtRunLog是Form中的控件