Здравствуйте эксперты! Подскажите пожалуйста, на форме есть 4 TextBox'а информация из них,(Family, name, surname, adress) при нажатии кнопки BtnShow, паявляется в RichTextBox, нужно устроить проверку трём из них, если допустим фамилия или имя не заполнены, то вывести сообщение: некорректный ввод(типа) | Код | Option Explicit On Imports frm = System.Windows.Forms Public Class Form1 Private Ch As CheckStrings Private visitcard_attr(3) As CardAttribute
Private Sub BtnShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnShow.Click visitcard_attr(0) = New CardAttribute("Фамилия: ", Environment.NewLine) visitcard_attr(0).AttrValue = textFamily.Text
visitcard_attr(1) = New CardAttribute("Имя: ", Environment.NewLine) visitcard_attr(1).AttrValue = textName.Text
visitcard_attr(2) = New CardAttribute("Отчество: ", Environment.NewLine) visitcard_attr(2).AttrValue = textSurname.Text
visitcard_attr(3) = New CardAttribute("Дата рождения: ", "") visitcard_attr(3).AttrValue = dt1.Value
BtnSave.Enabled = True Ch = New CheckStrings(visitcard_attr) Rtb1.Text = Ch.VisitCard End Sub
Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click SaveFileDialog1.Filter = "Текстовые файлы|*.txt|RTF-файлы|*.rtf" If (SaveFileDialog1.ShowDialog() = frm.DialogResult.OK) Then Rtb1.SaveFile(SaveFileDialog1.FileName) CmbCards.Items.Add(SaveFileDialog1.FileName) End If End Sub
Private Sub BtnEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEnd.Click End End Sub
Private Sub BtnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLoad.Click If (CmbCards.SelectedIndex >= 0) Then Rtb1.LoadFile(CmbCards.Items(CmbCards.SelectedIndex))
End If End Sub Protected Overrides Sub Finalize() MyBase.Finalize() End Sub
End Class
'Это класс CheckStrings
Imports genr = System.Collections.Generic
Public Class CheckStrings Public ReadOnly Property VisitCard() As String Get Dim res As String = "" For i As Integer = 0 To attrList.Count - 1 res += attrList(i).AttrValue Next Return res End Get End Property
Private attrList As New genr.List(Of CardAttribute)
Public Sub New(ByVal ParamArray attrs() As CardAttribute) attrList.AddRange(attrs) End Sub
Private Function CheckNumeric(ByVal chstr As String) As Boolean For i As Integer = 0 To chstr.Length - 1 If (IsNumeric(chstr.Chars(i))) Then Return False End If Next Return True End Function
Public Function CheckLength() As Boolean Return True End Function End Class
'Это класс CardAttribute
Public Class CardAttribute
Private _prefix, _delimiter As String Private _value As Object
Public Sub New(ByVal pr As String, ByVal delim As String) _prefix = pr _delimiter = delim _value = Nothing End Sub
Public Property AttrValue() As Object Get If (_value Is Nothing) Then Return Nothing Else If (_value.GetType().Name.ToLower() = "string") Then If (_value.ToString().Length > 0) Then Return _prefix + _value + _delimiter Else Return "" End If ElseIf (_value.GetType().Name.ToLower() = "datetime") Then Return _prefix + CDate(_value).ToShortDateString() + _delimiter Else Return Nothing End If End If End Get Set(ByVal value As Object) _value = value End Set End Property End Class
|
Кто что может посоветовать? Это сообщение отредактировал(а) Lugomor - 2.4.2009, 18:21
|