Bu yazımda sizlere Textbox, Numericupdown gibi nesnelere değer girmek için kullanacağınız InputBox özelliğinden bahsedeceğim. NumericUpDown kullanıldığında Text özelliği yerine Value özelliği kullanılmalıdır. InputBox, Dat Net’in değer girme penceresidir. Bu pencere açılmadan önce girilen üç değeri gösterir.

myValue = InputBox(“TextBox_0 değerini yazınız:” , “TextBox Değer Girme” , sender.Text)

Yukarıda görüldüğü gibi “TextBox_0 değerini yazınız:” açıklama allanıdır. “TextBox Değer Girme” bu kısım ise başlık alanıdır. sender.Text ise başlangıçta göstereceği değer alanıdır. Bu parametreler ile açılan inputBox cancel butonuna tıklandığında boş bir string döndürür.  Bu nedenle kodumuzda boş string görüldüğünde fonksiyonu bitiren aşağıdaki satırı yazdık.

if myValue = “” then exit sub

Okey butonuna basıldığında ise InputBox içersinde yazdığımız veri myValue nesnesine yazılır. Kodumuzda bu değer ile ilgili bazı sınırlamaları kontrol ettikten sonra değeri Tag_1’e ve TextBox_0’a yazıyoruz. Yazdığımız bu script sayfa açılırken bir kere çalışması yeterlidir. Bunun için Screen Load fonksiyonunu kullanabilirsiniz. Bu fonksiyona scada sayfasında boş bir yere sağ kilik yaparak Screen Properties menüsünden ulaşabilirsiniz.

Imports System

Imports System.IO

Imports System.Windows.Forms

Imports Microsoft.VisualBasic

Namespace WinTr

Public Class MainClass

Public RWTagValue As Object

Public ObjectOfActiveScreen As System.Collections.ArrayList

Public ObjectNameOfActiveScreen As System.Collections.ArrayList

Public Sub Load

dim i as integer = ObjectNameOfActiveScreen.IndexOf(“TextBox_0”)

if i > -1 Then

Dim t as TextBox = ObjectOfActiveScreen(i)

AddHandler t.MouseClick, AddressOf TextBox_0_MouseClick

Else

Msgbox(“TextBox_0 bu sayfada yok!”)

End If

End Sub

Private Sub TextBox_0_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)

Dim myValue As Object

Tekrar: myValue = InputBox(“TextBox_0 değerini yazınız:” , “TextBox Değer Girme” , sender.Text)

if myValue = “” then exit sub

if isNumeric(myValue) Then

if myValue > 0 and myValue < 100 Then

If MsgBox(“Değer değiştirilecek, Eminmisiniz?” ,MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then

sender.Text = myValue

RWTagValue.Value(“Tag_1”) = sender.Text

Else

goto Tekrar

End If

Else

MsgBox(“Girilen değer 0 ile 100 arasında olabilir.”)

Goto Tekrar

End If

End If

End Sub

End Class

End Namespace