08-06-24, 12:33 AM
(آخر تعديل لهذه المشاركة : 08-06-24, 12:34 AM {2} بواسطة mohamedgadain61.)
(07-06-24, 07:42 PM)العتيق كتب : شكرا لك اخ Taha Okla
لم تكتب اي كلمة الا و كنت مصيبا بها ولكن بالنسبة لي من منطلق محبتي لهذا المنتدى و اعضائه الاكارم الذين لا يؤلون جهدا في مساعدة السائل ومن منطلق اما السائل فلا تنهر
قررت تقديم المساعدة و قدمت الكثير من الطروحات على كل حال اقدم لاي سائل قد يكون لديه نفس هذا الهاجس لربما يساعد
بانسبة للفورم الثاني و هو الرئيسي او فورم تسجيل الدخول نكتب الآتي
PHP كود :
Public Class Form2
Private frm1 As Form1
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
frm1 = New Form1()
frm1.Hide() ' إخفاء الفورم الأولى عند تحميل الفورم الثانية
frm1.LoadNotes()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
frm1.Show() ' إظهار الفورم الأولى عند الضغط على الزر
End Sub
End Class
اما بالنسبة للفورم الذي سيعرض المعلومات الثقيلة او العبوات الثقيلة يصبح بهذا الشكل
PHP كود :
Imports System.Data.OleDb
Imports System.Threading.Tasks
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Try
' ' فتح الاتصال بقاعدة البيانات
' conn.Open()
' MessageBox.Show("Connection opened successfully!")
'Catch ex As Exception
' MessageBox.Show("Error: " & ex.Message)
'Finally
' ' التأكد من إغلاق الاتصال حتى في حالة وجود استثناء
' conn.Close()
' MessageBox.Show("Connection closed.")
'End Try
' تشغيل المهام بشكل غير متزامن لتحميل البيانات
Me.WindowState = FormWindowState.Maximized
'LoadNotes()
End Sub
'Private Async Function LoadAllData() As Task
' Await Task.WhenAll(
' Task.Run(Sub() LoadNotes()),
' Task.Run(Sub() LoadLaundryInfo()),
' Task.Run(Sub() LoadAllCustomers()),
' Task.Run(Sub() LoadSubUser()),
' Task.Run(Sub() LoadCategory()),
' Task.Run(Sub() LoadData())
' )
'End Function
Public Sub LoadNotes()
Using dp As New OleDbDataAdapter("SELECT ID, notee FROM notess", conn)
Dim dt As New DataTable()
dp.Fill(dt)
CheckedListBox1.DataSource = dt
CheckedListBox1.DisplayMember = "notee"
CheckedListBox1.ValueMember = "ID"
End Using
LoadLaundryInfo()
End Sub
Private Sub LoadLaundryInfo()
Using dp As New OleDbDataAdapter("SELECT Status_vat, Value_VAT, type, Type_VAT FROM landryInfo WHERE ID = 5", conn)
Dim ds As New DataSet()
dp.Fill(ds)
If ds.Tables(0).Rows.Count <> 0 Then
statusvat = ds.Tables(0).Rows(0).Item("Status_vat").ToString()
valuvat = ds.Tables(0).Rows(0).Item("Value_VAT").ToString()
paytype = ds.Tables(0).Rows(0).Item("type").ToString()
typevat = ds.Tables(0).Rows(0).Item("Type_VAT").ToString()
End If
End Using
LoadAllCustomers()
End Sub
Private Sub LoadAllCustomers()
Using Cmmd As New OleDbCommand("SELECT mobilenumber, customername FROM Customers1", conn)
Using da As New OleDbDataAdapter(Cmmd)
Dim dt As New DataSet()
da.Fill(dt)
Dim cloumn1 As New AutoCompleteStringCollection()
For Each row As DataRow In dt.Tables(0).Rows
cloumn1.Add(row("mobilenumber").ToString())
Next
TextBox11.AutoCompleteSource = AutoCompleteSource.CustomSource
TextBox11.AutoCompleteMode = AutoCompleteMode.SuggestAppend
TextBox11.AutoCompleteCustomSource = cloumn1
End Using
End Using
LoadSubUser()
End Sub
Private Sub LoadSubUser()
'Using dp As New OleDbDataAdapter("SELECT Sub_Customer, Tailor, Laundery FROM Sub WHERE ID = 1", conn)
' Dim ds As New DataSet()
' dp.Fill(ds)
' If ds.Tables(0).Rows.Count <> 0 Then
' subscription = ds.Tables(0).Rows(0).Item("Sub_Customer").ToString()
' Tailor = ds.Tables(0).Rows(0).Item("Tailor").ToString()
' Laundery = ds.Tables(0).Rows(0).Item("Laundery").ToString()
' End If
'End Using
Using dp1 As New OleDbDataAdapter("SELECT ID, user_name FROM login", conn)
Dim dt As New DataTable()
dp1.Fill(dt)
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "user_name"
ComboBox1.ValueMember = "user_name"
ComboBox2.DataSource = dt
ComboBox2.DisplayMember = "ID"
ComboBox2.ValueMember = "ID"
End Using
LoadCategory()
End Sub
Private Sub LoadCategory()
FlowLayoutPanel3.Controls.Clear()
Using Cmd As New OleDbCommand("SELECT ID, item_NameA FROM Proudect_items", conn)
conn.Open()
Using rdr = Cmd.ExecuteReader()
While rdr.Read()
Dim button = New Button() With {
.Font = New Font("Tahoma", 10, FontStyle.Bold),
.Width = 125,
.Height = 60,
.Text = rdr("item_NameA").ToString(),
.Tag = rdr("ID").ToString(),
.FlatStyle = FlatStyle.Flat,
.BackColor = Color.FromArgb(72, 4, 156),
.ForeColor = Color.White
}
FlowLayoutPanel3.Controls.Add(button)
button.Cursor = Cursors.Hand
AddHandler button.Click, AddressOf button_Click
End While
End Using
conn.Close()
End Using
FlowLayoutPanel3.AutoScroll = True
LoadData()
End Sub
Private Sub LoadData()
FlowLayoutPanel1.Controls.Clear()
Dim query As String
If _action = "StartUp" Then
query = "SELECT pic, ID, ProductNameA, ProductNameE FROM Proudect WHERE ProductNameA LIKE @searchText"
ElseIf _action = "Search1" Then
query = "SELECT pic, ID, ProductNameA, ProductNameE FROM Proudect WHERE id_Proudect_items = @query"
End If
Using Cmd As New OleDbCommand(query, conn)
If _action = "StartUp" Then
Cmd.Parameters.AddWithValue("@searchText", "%" & TextSerch.Text & "%")
ElseIf _action = "Search1" Then
Cmd.Parameters.AddWithValue("@query", _query1)
End If
conn.Open()
Using rdr = Cmd.ExecuteReader(CommandBehavior.CloseConnection)
While rdr.Read()
Dim len As Long = rdr.GetBytes(0, 0, Nothing, 0, 0)
Dim array(CInt(len)) As Byte
rdr.GetBytes(0, 0, array, 0, CInt(len))
pic = New PictureBox() With {
.Width = 150,
.Height = 150,
.BackgroundImageLayout = ImageLayout.Stretch,
.Tag = rdr("ID").ToString()
}
AddHandler pic.Click, AddressOf lblD_Click
lblD1 = New Label() With {
.Font = New Font("Tahoma", 10, FontStyle.Bold),
.ForeColor = Color.FromArgb(72, 4, 156),
.BackColor = Color.GhostWhite,
.Dock = DockStyle.Top,
.Tag = rdr("ID").ToString(),
.Text = rdr("ID").ToString()
}
lblD = New Label() With {
.Font = New Font("Tahoma", 9, FontStyle.Bold),
.ForeColor = Color.FromArgb(72, 4, 156),
.BackColor = Color.GhostWhite,
.Dock = DockStyle.Bottom,
.Tag = rdr("ID").ToString(),
.Text = rdr("ProductNameE").ToString() & "-" & rdr("ProductNameA").ToString()
}
AddHandler lblD.Click, AddressOf lblD_Click
Dim ms As New System.IO.MemoryStream(array)
Dim bitmap As New System.Drawing.Bitmap(ms)
pic.BackgroundImage = bitmap
pic.Controls.Add(lblD)
pic.Controls.Add(lblD1)
FlowLayoutPanel1.Controls.Add(pic)
End While
End Using
conn.Close()
End Using
'FlowLayoutPanel1.AutoScroll = True
End Sub
Private Sub lblD_Click(sender As Object, e As EventArgs)
' Implement price display logic here
End Sub
Private Sub button_Click(sender As Object, e As EventArgs)
_action = "Search1"
_query1 = sender.Tag.ToString()
LoadData()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' You can call LoadAllData or specific methods here
End Sub
End Class
جزاك الله خيرا ووفقك الله وسدد خطاك يارب .... سوف اطلع على الكود ...
اخير واخرا ان شاء الله كيف يمكنني عمل جملة تاكد اذا كانت ال Task تعمل لا يقوم بتكرار الامر مرة اخرى
هنا ارغب باضافة جملة تحقق IF Statement حتى ينتهي ال Task من اداء المهمة لانه يوجد لدي Button للتحديث وشكرا
PHP كود :
Await Task.WhenAll(
Task.Run(Sub() LoadCategory()),
Task.Run(Sub() LoadData()),
Task.Run(Sub() notee()),
Task.Run(Sub() landryInfo()),
Task.Run(Sub() SelectAll_Customers()),
Task.Run(Sub() GetSub_User())
)
