Очень ржавое использование VB.NET
Я не уверен, что я делаю неправильно,но вот оно.
Недавно я скачал пробную версию элемента управления под названием Active Query Builder. Я посмотрел на один проект под названием GeneralDemo.vbproj и начал изучать его структуру.
Он содержал хорошую программу visual basic для запуска приложения, поэтому я использовал ее повторно.
'Nice Start up routine from Active Query Builder Imports System.Threading Imports System.Windows.Forms Friend NotInheritable Class Start Private Sub New() End Sub ''' <summary> ''' The main entry point for the application. ''' </summary> <STAThread> _ Friend Shared Sub Main() ' Catch unhandled exceptions for debugging purposes AddHandler AppDomain.CurrentDomain.UnhandledException, _ AddressOf CurrentDomain_UnhandledException AddHandler Application.ThreadException, _ AddressOf Thread_UnhandledException Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) 'The following is were we start the application Application.Run(New AccessConnectionForm()) End Sub Private Shared Sub CurrentDomain_UnhandledException(sender As Object, _ e As UnhandledExceptionEventArgs) Dim exception As Exception = TryCast(e.ExceptionObject, Exception) If exception IsNot Nothing Then Dim exceptionDialog As New ThreadExceptionDialog(exception) If exceptionDialog.ShowDialog() = DialogResult.Abort Then Application.[Exit]() End If End If End Sub Private Shared Sub Thread_UnhandledException(sender As Object, _ e As ThreadExceptionEventArgs) If e.Exception IsNot Nothing Then Dim exceptionDialog As New ThreadExceptionDialog(e.Exception) If exceptionDialog.ShowDialog() = DialogResult.Abort Then Application.[Exit]() End If End If End Sub End Class
Демонстрационная программа также содержала различные формы подключения для различных систем баз данных. Для развлечения я хотел разместить изображение, чтобы показать мне, к какой базе данных я пытаюсь подключиться. Поэтому я поместил коробку с картинками на форму и попытался загрузить ее.PNG-файл в поле изображения.
Imports System.Data.OleDb Imports System.Windows.Forms Partial Public Class AccessConnectionForm Inherits Form Public strAppPAth As String = Application.StartupPath Public ConnectionString As String = "" Public Sub New() InitializeComponent() picDB.Image = Image.FromFile(strAppPAth & "MS-Access.png") End Sub Private Sub btnConnect_Click(sender As Object, _ e As EventArgs) Handles btnConnect.Click ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0" ConnectionString += ";Data Source=" & txtDB.Text ConnectionString += ";User Id=" & txtDB.Text ConnectionString += ";Password=" If txtDB.Text.Length > 0 Then ConnectionString += txtDB.Text & ";" End If ' check the connection Using connection As New OleDbConnection(ConnectionString) Me.Cursor = Cursors.WaitCursor Try connection.Open() Catch ex As System.Exception MessageBox.Show(ex.Message, "Connection Failure.") Me.DialogResult = DialogResult.None Finally Me.Cursor = Cursors.[Default] End Try End Using End Sub Private Sub btnBrowse_Click(sender As Object, _ e As EventArgs) Handles btnBrowse.Click If openFileDialog1.ShowDialog() = DialogResult.OK Then txtDB.Text = openFileDialog1.FileName End If End Sub End Class
Я получаю ошибку в переменной strAppPath. Я пытаюсь сделать программу исполняемой из любого места, и она не распознает папку ресурсов, в которой я в данный момент храню изображение.
Что я уже пробовал:
Единственное, что я добавил, Было:
Public strAppPath As String = Application.StartupPath
В верхней части формы подключения доступа. и -
picDB.Image = Image.FromFile(strAppPAth & "MS-Access.png")
В публичной суб-новой процедуре при запуске формы.
Может ли кто-нибудь указать, что я сделал не так?
Спасибо,