PDA

View Full Version : مبتدی :‌ چند سئوال از vb.net



H @ di
یک شنبه 18 مرداد 1394, 00:10 صبح
دوستان سلام
اگر کسی از دوستان پاسخ سئوالات زیر رو میدونه محبت کنه جواب بده . ممنون
( تازه به برنامه نوسی رو آوردم )


- من سه تا فرم دارم که از فرم مادر با زدن دکمه فرم دوم باز میشه و از اونجا فرم سوم و در فرم سوم تکست باکس ها وجود دارن که اطلاعات رو وارد دیتابیس اکسس می کنه که دو تا تیبل داره


1- تکست باکس های فرم سوم رو به دییابیس بایند کردم ولی وارد گرید و دیتابیس نمی شن یا پس از بستن برنامه وارد میشن که هنگام بازکردن مجد ارور میده


2- می خوام بعد از زدن دکمه ذخیره در فرم سوم دیتاگرید فرم یک رفرش بشه و آیا نیازی هست که دیتا گرید فرم 1 رو توی فرم 3 بذارم ؟


3- چگونه به دکمه فرم مادر دستور بدم اگه فرم فلان باز شد داده ها رو وارد فلان تیبل کنه و بلعکس


4- کامپوننت استارریت دارم برای امتیاز دادن ولی نمی دونم چطور باید بهش کد داد ؟

5- چگونه میتوان به کمبوباکس دستور داد که به صورت پیشفرض یکی از مقادیر وارد شده رو نشون بده و بر همون اساس هم کار کنه ؟

mehdi.safavie
یک شنبه 18 مرداد 1394, 07:53 صبح
درود

من یا دیتابیس اکسس کار نکردم تا به حال ار SQL استفاده میکنم .
سوال 2 و 3 رو میتونم به شما پاسخ بدم فقط تا ایشالا بقیه بهت جواب بدن .

2 - شما میتونی نام یکی از فرم ها رو بنویسی و بعد یک نقطه بزاری تا به همه ی کنترل های اون فرم دسترسی پیدا کنی :


form1.Button1.Enable = True
Form2.TextBox1.Text = "Hello"


من مشکلی نداشتم ولی اگر دیدی نام فرم رو نوشتی ولی کنترلش رو نیاورد تو فرم مورد نظر و کنترل مورد نظر در قسمت Peropertis مقدار Modifiers رو Public کن .
همچنین برای دسترسی به متغییر های فرم هم اگر متغییر رو به جای Dim از نوع Public تعریف کنی باز میتونی از هر فرم دیگه ای به اون متغییر هم دسترسی داشته باشی و مقدار دهی کنیش .

برای مثال شما :


Form1.DataGrideView.Refresh()



3 - تو فلان فرمتون ، زمانی که باز میشه دستوراتتون رو طبق توضیحات بالا انجام بدید .



Private Sub FelanForm(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Dasturatetun

masalan FelanForm2.DataGridView.Refresh()
End Sub


تا زمانی که از یک فرم دیگه به فرم دیگه ای دستور میدید باید اول اسم فرم مورد نظر رو اول بزارید و سپس یک نقطه بزارید ، بعد میتونید ادامه کارتون رو برید .






به جای اکسس از SQL استفاده کن .
خیلی گیج کننده و سخت نیست .

Ehsan_Shia
یک شنبه 18 مرداد 1394, 11:36 صبح
بسم الله الرحمن الرحیم

سلام علیکم
دوست عزیز از سوال تان سر در نیاوردم، ولی بنده خودم این گونه دیتاگرید را پر می کنم.
یه زیر برنامه می نویسم اینطوری:

Private Sub fill()
conn()
dt.Clear()
cm.CommandText = "SELECT * FROM Tabel"
da.SelectCommand = cm
da.Fill(dt)
DataGridView1.DataSource = dt
'DataGridView1.Columns(0).Visible = False
End Sub

بعد توی رویداد کلیک و لود فرم فراخوانی اش می کنم.
سوال دیگه ای بود، در خدمتم.

H @ di
دوشنبه 19 مرداد 1394, 00:16 صبح
دوستان گرامی ممنون از پاسخ های خوبتون
من اشتباها به جای فراخوانی مستقیم از کلاس My استفاده می کردم .

* سئوال 4 و 5 رو هم اگه ممکنه جواب بدید *

و اینکه LinkLabel رو چگونه برای فرم داخل برنامه و نیز پوشه مقدار دهی کنیم ؟

Ehsan_Shia
دوشنبه 19 مرداد 1394, 10:41 صبح
بسم الله الرحمن الرحیم


اینکه LinkLabel رو چگونه برای فرم داخل برنامه و نیز پوشه مقدار دهی کنیم ؟
سلام علیکم
در مورد این سوال بیشتر توضیح بدهید.

H @ di
دوشنبه 19 مرداد 1394, 12:58 عصر
سلام آقا احسان
توی کنترلهای vb.net کنترل لینک لیبل هست که گویا میشه برای آدرس دهی بهش مقدار داد تا مثلا یه پوشه یا فایل یا یک سایت رو
هنگام اجرای برنامه باز کنه
متاسفانه دستور دادن بهش رو نمی دونم

Ehsan_Shia
دوشنبه 19 مرداد 1394, 16:44 عصر
سلام آقا احسان
توی کنترلهای vb.net کنترل لینک لیبل هست که گویا میشه برای آدرس دهی بهش مقدار داد تا مثلا یه پوشه یا فایل یا یک سایت رو
هنگام اجرای برنامه باز کنه
متاسفانه دستور دادن بهش رو نمی دونم
سلام علیکم
بفرمایید:
در صورتی که بخواهید همان متن لیبل آدرس تان باشد از این کد استفاده کنید:


Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs ) Handles LinkLabel1.LinkClicked
Process.Start(LinkLabel1.Text)
End Sub


و در صورتی که بخواهید آدرس را در قسمت کد ها وارد کنید از این کد استفاده فرمایید (در این صورت می توانید متن را هر چه می خواهید وارد کنید):


Public Class Form1
Dim a As String
Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs ) Handles LinkLabel1.LinkClicked
a = "www.barnamenevis.org"
Process.Start(a)
End Sub
End Class

H @ di
چهارشنبه 28 مرداد 1394, 23:56 عصر
سلام
ممنون از دوستانی که راهنمایی کردن
الان چند تا مشکل تازه برام پیش اومده . ممنون میشم راهنمایی کنید

1- ورود اطلاعات از فرم 2 به دیتابیس هست و با اینکه در کد دکمه دیتاگرید رو فراخوانی کردم و دستور رفرش دادم ولی رفرش نمی شه و هنگامی که دکمه جدید رو می زنم باگ می ده و دیتابیس تنها با بستن برنامه و اجرای مجدد اطلاعات جدید رو شناسایی میکنه

2- اگر بخوام به یه آیتم توی فرم اصلی دستور بدم که با پر بودن فلان سلول فعال و با خالی بودن غیرفعال بشه چکار باید بکنم .ممنون از راهنماییهاتون

محمد آشتیانی
پنج شنبه 29 مرداد 1394, 00:59 صبح
سلام
لطفا موارد زیر رو رعایت کنید:

1- قبل از ایجاد تاپیک از امکان جستجوی سایت استفاده کنید.
2- برای هر سوال یک تاپیک مجزا ایجاد کنید (چند سوال رو در یک تاپیک نپرسید)
3- برای تاپیکتون عنوان مناسب انتخاب کنید (عنوان باید بصورت خلاصه بیانگر محتوای پرسش داخل تاپیک باشه)


موفق باشید.