明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2638|回复: 12

[原创]菜鸟的问题

  [复制链接]
发表于 2009-6-3 08:31:00 | 显示全部楼层 |阅读模式

请教各位高手:

我一直从事ARX开发,VB6.0也用过,现在开始转向.net开发,遇到一个问题就是,VB.net调起cad后为什么msgbox,与messagebox不显示出来了呢?vb6.0用的是Public Declare Function MessageBox Lib "user32"  Alias "MessageBoxA"(ByVal hwnd As Integer, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Integer) As Integer

Vb.net怎么用?

先谢谢了!

发表于 2009-6-3 08:45:00 | 显示全部楼层
MessageBox.Show(.......)
 楼主| 发表于 2009-6-3 15:40:00 | 显示全部楼层
我的messagebox.show也不好使,就是不出来,还有若是引用的是类中函数好像不能调用Messagebox.show,楼主我刚转过实在有点晕!先谢谢!还有其他方法么?
发表于 2009-6-3 15:44:00 | 显示全部楼层
你的代码?
 楼主| 发表于 2009-6-5 19:15:00 | 显示全部楼层
Public Sub DatebaseBackup(ByVal MyDbname As String, ByVal myStr As String)

            Dim dbname As String
            Dim dbpath As String
            Dim Mysqlstr As String
            Dim dbuserentername As String


            '    备份数据库文件名称:日期和时间信息

            dbname = MyDbname & "_BAK" & myStr


            '判断文件夹是否存在,若不存在要创建此文件
            dbpath = My.Application.Info.DirectoryPath & "\dbbak"
            Dim dDir As New IO.DirectoryInfo(dbpath)
            If Not dDir.Exists Then
                '创建文件夹
                System.IO.Directory.CreateDirectory(dbpath)
            End If

            dbpath = My.Application.Info.DirectoryPath & "\dbbak\" & dbname & ".dat"

            Dim myConnection As New SqlConnection(ConnStr)
            myConnection.Open()
            Try
                Mysqlstr = "Use master"
                RunSql(Mysqlstr)

                Mysqlstr = "EXEC sp_addumpdevice 'disk', '" & dbname & "','" & dbpath & "'"
                RunSql(Mysqlstr)

                Mysqlstr = "BACKUP DATABASE " & MyDbname & " TO " & dbname & ""
                RunSql(Mysqlstr)
            Catch ex As SqlException
                Dim errItem As SqlError
                Dim errString As String
                For Each errItem In ex.Errors
                    errString += ex.Message + " "
                Next
                Mysqlstr = "SQL Error.Details follow:" & errString
                MsgBox(Mysqlstr, MsgBoxStyle.OkOnly, "金属矿山信息管理系统")

            Catch myException As Exception
                Mysqlstr = "Exception: " + myException.ToString()
                MsgBox(Mysqlstr, MsgBoxStyle.OkOnly, "金属矿山信息管理系统")
            End Try
            MessageBox.Show("数据库自动备份完毕", "金属矿山信息管理系统", MessageBoxButtons.OK)



        End Sub
发表于 2009-6-5 20:20:00 | 显示全部楼层

把类型名写全试试吧

你是不是没有引用System.Windows.Forms ?

                System.Windows.Forms.MessageBox.Show(
                    “Hello”,
                    "hi",
                    System.Windows.Forms.MessageBoxButtons.OK,
                    System.Windows.Forms.MessageBoxIcon.Error)

 楼主| 发表于 2009-6-6 15:01:00 | 显示全部楼层
貌似类里不能用MessageBox.Show  error BC30456: “Windows”不是“System”的成员。 我加到窗体下也不显示

                      DbObj.DatebaseBackup(MyDb, str)
                                MessageBox.Show("数据库自动备份完毕", "金属矿山信息管理系统", MessageBoxButtons.OK)
发表于 2009-6-6 15:14:00 | 显示全部楼层

无窗体的类库要引用System.Windows.Forms.dll

加到窗体下也不显示的情况没碰到过

你试下

Application.ShowAlertDialog("数据库自动备份完毕");

 楼主| 发表于 2009-6-6 21:04:00 | 显示全部楼层
“ShowAlertDialog”不是“System.Windows.Forms.Application”的成员。有点晕了,ARX中messagebox一点问题没有为什么,vb。net就不显示呢?还有什么好的方法么?  谢谢您,麻烦喽!
发表于 2009-6-6 21:07:00 | 显示全部楼层

Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("数据库自动备份完毕");

如果还不行

把你的简化工程提交上来看看

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:55 , Processed in 0.202161 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表