Добрый вечер. В WinForms и .Net не силен, так что не судите строго.
Что есть.
Я при посильной поддержке гугла создал винформу, которая запускает бесконечный прогресс бар и в асинхронном режиме запускает другой процесс(джоб на скл сервере). Когда джоб отрабатывает, он возвращает параметр и я форму закрываю.
Винформу буду вызывать консольно.
Задача. Так как эта форма будет вызываться для разных джобов, мне нужно научится как-то вызывать ее с параметром(из консоли).
То есть необходимо, во-первых str сделать параметром формы, а во вторых вызывать эту форму с разными значениями переменной.
Подскажите, как это можно реализовать. Спасибо.
Мой код выглдяит примерно так:
Imports SQLServerJobClass
Imports System.Windows.Forms
Public Class Form_ExecLongProcess
Inherits Form
Private Sub LongProcess_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MyBase.Load
With ProgressBar1
.Style = ProgressBarStyle.Marquee
.MarqueeAnimationSpeed = 100
End With
Dim str As String = "Job_Load_task1"
ProgressBar1.Visible = True
bgw_Process.RunWorkerAsync(str)
End Sub
Private Sub bgw_Process_DoWork(ByVal sender As System.Object, _
ByVal e As System.ComponentModel.DoWorkEventArgs) _
Handles bgw_Process.DoWork
Dim args As String = e.Argument
Dim JobStatus As Integer
Dim JobMessage As String = ""
Dim obj As SQLServerJobClass.SQLServerJobClass = New SQLServerJobClass.SQLServerJobClass
Dim FormWaitProgressbar As cppUpload_QORT_data.Form_ExecLongProcess = New Form_ExecLongProcess
JobStatus = obj.Run(args)
If JobStatus = 1 Then
JobMessage = "succeeded!"
Else
JobMessage = "failed!"
End If
MsgBox(JobMessage, 0, "Upload data")
Me.Close()
End Sub
Private Sub bgw_Process_RunWorkerCompleted(ByVal sender As Object, _
ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) _
Handles bgw_Process.RunWorkerCompleted
ProgressBar1.Visible = False
End Sub
End Class
-----------------
open your mind