سلام
1. شاید به نظر شما مشکل پیش پا افتاده ای باشه ولی من رو حسابی سر کار گزاشته.به نظر خودم نباید هیچ مشکلی داشته باشه ولی شرط ها رو اصلا چک نمی کنه و اتفاقی نمی افته.

Dim
cdal AsNew QC_DAL.connection
Dim dslogin As DataSet
Dim str AsString

Dim frm_QCunit AsNew mainform
Dim i AsInteger

Dim drw As DataRow
Dim qc AsNew QC.Base
IsValidform()
For i = 0 To i = 3
str =
"SELECT un,pass FROM tblunpass WHERE un=" & qc.PrepareStr(txtUser.Text) & _
" AND pass=" & qc.PrepareStr(txtPass.Text)
dslogin = cdal.GetdatasetofGeneralDB(str)
ForEach drw In dslogin.Tables(0).Rows
If txtUser.Text = drw("un") Then

If txtPass.Text = drw("pass") Then

Me.Hide()
frm_QCunit.Show()
EndIf

EndIf

Next

MsgBox(
"نام کاربری و یا کلمه ورود اشتباه است", MsgBoxStyle.MsgBoxRight Or MsgBoxStyle.OkOnly, Me.Text)
Clearform()
Next
تابع preparestr دو طرف رشته ' میگزاره
2. من یک grid دارم که می خواهم وقتی روی سطری از اون کلیک شد اون سطر hide بشه و نه delet . یعنی دیگه توی grid نمایش داده نشه. کار درست چیه؟ باید با کد نویسی این کار بکنم یا مثلا یک copy از datasource ام بگیرم و row ها رو از توی اون delet کنم که خیلی کار درستی نیست.

درست حدس زده اید. این اولین برنامه ای که می نویسم!!