PDA

View Full Version : سوال: چگونگی فعال کردن یک دکمه



veniz2008
شنبه 09 مرداد 1389, 20:14 عصر
سلام دوستان،من چندتا درس در یک جدول دارم که جلوی هر درس دکمه انتخاب و حذف گذاشتم ،حالا میخواستم بدونم که چطوری میشه که در ابتدای کار یعنی وقتی صفحه باز میشه فقط دکمه های انتخاب فعال باشند و بعد از کلیک کردن بر روی هر دکمه انتخاب،دکمه دوم یعنی حذف فعال بشه و دکمه انتخاب اون درس غیر فعال بشه(یعنی در هر زمان فقط یک دکمه،متناسب به نیازم فعال باشه).تشکر

Salar Ashgi
شنبه 09 مرداد 1389, 20:26 عصر
button1.Enabled = true;
or
button1.Enabled = false;

veniz2008
شنبه 09 مرداد 1389, 22:33 عصر
button1.Enabled = true;
or
button1.Enabled = false;

این کد رو باید کجا بنویسم؟توی page load یا جای دیگه؟کد رو نوشتم ولی خطا میده(البته به جای or از || استفاده کردم).

vandermond
شنبه 09 مرداد 1389, 22:49 عصر
این کد رو باید کجا بنویسم؟توی page load یا جای دیگه؟کد رو نوشتم ولی خطا میده(البته به جای or از || استفاده کردم).
دوست عزيز
اون or جزء كد نبود كه:چشمک:. اون به عنوان «يا» در زبان پارسي بود. يعني يا كد بالايي يا كد پاييني.
ببين وقتي كليد انتخاب رو زد بايد حذف هم فعال بشه. پس توي رويداد كليك كليد انتخاب بنويس:

btnRemove.Enabled=true;
btnSelect.Enabled=false;

البته به جاي btnRemove اسم كليد حذف رو بزار.
اول برنامه هم كه ميخاي كليد حذف غير فعال باشه. توي فرم لود بنويس:

btnRemove.Enabled=false;
البته باز هم به جاي btnRemove اسم كليد حذف رو بزار.

ويرايش: كد كليد انتخاب اضافه شد. قسمتهاي ديگه رو خودت بايد بزاري. اين بخشي از كار هستش. با اين نمونه ميتوني بقيه رو انجام بدي.

Salar Ashgi
شنبه 09 مرداد 1389, 23:24 عصر
دوست عزیز vandermond (http://barnamenevis.org/forum/member.php?u=71531) ، توضیحات مربوطه رو ذکر کردن ./

veniz2008
یک شنبه 10 مرداد 1389, 00:12 صبح
دوست عزیز vandermond (http://barnamenevis.org/forum/member.php?u=71531) ، توضیحات مربوطه رو ذکر کردن ./
کاری رو که گفتید واسه بقیه درسهای جدولم هم انجام دادم،فقط یه مشکل وجود داره،بعد از انتخاب درس سطر اول،وقتی از سطر اول مثلا میرم درس سطر 3 رو انتخاب میکنم،خاصیت دکمه انتخاب سطر اول دوباره خود به خود فعال میشه،در صورتیکه که بخوام همچنان غیرفعال بمونه و بعد از زدن کلید حذف فعال بشه باید چکار کنم؟(منظورم اینه که مثلا اگر 3 تا درس متفاوت رو انتخاب کردم،دکمه های انتخاب هر 3 درس غیرفعال بمونند تا موقعیکه دکمه حذف اون درس رو بزنم و بعدش فعال بشن).

vandermond
یک شنبه 10 مرداد 1389, 00:18 صبح
کاری رو که گفتید واسه بقیه درسهای جدولم هم انجام دادم،فقط یه مشکل وجود داره،بعد از انتخاب درس سطر اول،وقتی از سطر اول مثلا میرم درس سطر 3 رو انتخاب میکنم،خاصیت دکمه انتخاب سطر اول دوباره خود به خود فعال میشه،در صورتیکه که بخوام همچنان غیرفعال بمونه و بعد از زدن کلید حذف فعال بشه باید چکار کنم؟(منظورم اینه که مثلا اگر 3 تا درس متفاوت رو انتخاب کردم،دکمه های انتخاب هر 3 درس غیرفعال بمونند تا موقعیکه دکمه حذف اون درس رو بزنم و بعدش فعال بشن).
دوست عزيز
سوال يه خورده نامفهومه:متفکر:. با كدهايي كه گفته شد اگه كار كني درست ميشه. دقيقا نفهميدم مشكل چي هستش. اگه ميشه كدش رو بزار يا كلا برنامه رو بزار تا راحتتر مشكل حل بشه.:چشمک:

veniz2008
یک شنبه 10 مرداد 1389, 09:39 صبح
دوست عزيز
سوال يه خورده نامفهومه:متفکر:. با كدهايي كه گفته شد اگه كار كني درست ميشه. دقيقا نفهميدم مشكل چي هستش. اگه ميشه كدش رو بزار يا كلا برنامه رو بزار تا راحتتر مشكل حل بشه.:چشمک:


دوست عزیز بیشتر توضیح میدم،من در قسمت page load خاصیت دکمه های انتخاب رو فعال و دکمه های حذف رو غیر فعال کردم و در قسمت کدنویسی مربوط به دکمه های انتخاب بعد از کد ثبت درس این دوخط رو اضافه کردم:
btndelete = true و btnselect = false
و در قسمت کدنویسی مربوط به دکمه های حذف هم بعد از نوشتن کدهای مربوطه ،این دو خط رو اضاف کردم:
btndelete = false و btnselect = true
حالا وقتی درس یک سطر رو انتخاب میکنم،دکمه انتخابش غیرفعال و دکمه حذف فعال میشه،تا اینجا کار درسته،حالا اگه دکمه انتخاب یه درس دیگه رو کلیک کنم،دکمه انتخاب قبلی که غیرفعال بود،خودش فعال میشه،درصورتیکه من میخوام همچنان غیرفعال بمونه و اگه دکمه حذفش رو زدم اونوقت فعال بشه،در یک کلام بگم که:میخوام که دکمه های انتخاب و حذف یک درس تحت تاثیر دکمه های انتخاب و حذف درسهای دیگه نباشند و اگه مثلا 3 تا درس رو پشت سر هم انتخاب کردم دکمه های انتخاب هر 3 تاشون غیرفعال و دکمه های حذفشون فعال باشن.تشکر

vandermond
یک شنبه 10 مرداد 1389, 10:27 صبح
دوست عزيز
من نميدونم شما براي هر درس (به قول خودت) 2 تا كليد داري ديگه. (اين طور كه من فهميدم) خب حالا شما كدها رو بايد براي هر درس جدا بنويسي. يعني وقتي كليد انتخاب1 رو زد ، حذف1 فعال بشه و انتخاب1 غير فعال. و براي كليد هاي ديگه هم به همين ترتيب....
اگه اشتباه فهميده بودم، با كد گذاشتن راحتتر ميتونم كمكتون كنم.

veniz2008
یک شنبه 10 مرداد 1389, 12:21 عصر
دوست عزيز
من نميدونم شما براي هر درس (به قول خودت) 2 تا كليد داري ديگه. (اين طور كه من فهميدم) خب حالا شما كدها رو بايد براي هر درس جدا بنويسي. يعني وقتي كليد انتخاب1 رو زد ، حذف1 فعال بشه و انتخاب1 غير فعال. و براي كليد هاي ديگه هم به همين ترتيب....
اگه اشتباه فهميده بودم، با كد گذاشتن راحتتر ميتونم كمكتون كنم.
شما درست متوجه شدید،من کدها رو برای هر button بصورت مجزا نوشتم و در پایان کد مربوط به هر انتخاب،مقدار button مربوط به حذف رو فعال کردم و button انتخاب رو غیرفعال.ولی وقتی درس دومی رو انتخاب میکنم دکمه انتخاب درس اولی خودش فعال میشه،اینم کد انتخاب(دکمه1 برای انتخاب و دکمه2 برای حذف درس):

strcon = ("Data Source = .\\wincc;Initial Catalog=US_DB;Integrated Security=True");
strsql = "SELECT * From Akhz";
con = new SqlConnection(strcon);
con.Open();
da = new SqlDataAdapter(strsql, con);
da.Fill(ds, "Akhz");
newRow = ds.Tables["Akhz"].NewRow();
newRow["Code"] = GridView1.Rows[0].Cells[10].Text;
.
.
.
newRow["Money"] = GridView1.Rows[0].Cells[0].Text;
ds.Tables["Akhz"].Rows.Add(newRow);
cb = new SqlCommandBuilder(da);
da.InsertCommand = cb.GetInsertCommand();
da.Update(ds, "Akhz");
con.Close();
Label2.Text = "درس با موفقیت اخذ شد";
Button1.Enabled = false;
Button2.Enabled = true;
اینم کد حذف:
strcon = ("Data Source = .\\wincc;Initial Catalog=US_DB;Integrated Security=True");

con = new SqlConnection(strcon);
con.Open();
strsql = "DELETE From Akhz where Code = " + "'" + GridView1.Rows[0].Cells[10].Text + "'";
da = new SqlDataAdapter(strsql, con);
da.Fill(ds, "Akhz");
ds.Clear();
Label2.Text = "درس با موفقیت حذف شد";
Button1.Enabled = true;
button2.Enabled = false;

vandermond
یک شنبه 10 مرداد 1389, 12:59 عصر
دوست عزيز
1) لطفا كد هاي خودت رو توي تگ هاي مخصوص بزار كه قابل خوندن تر بشه.
2) اسم كليد عوض كردن هم كار زيادي نداره. كدت خوش بو ميشه اينطوري.
3) احتمالا توي سلكت سلولهاي گريد كدي نوشتي كه كليدهاي انتخاب فعال بشن. در ضمن من نميدونم براي هر درس يه گريد داري؟ يه عكس هم از فرم بزاري بد نيست.
خودت هم مبتوني خطايابي كني. مثلا اگه سلولي از گريد رو كه انتخاب ميكني اين مشكل ايجاد ميشه، با BreakPoint و ... اون قسمت رو در زمان اجرا بررسي كن و ببين كي داره اون چيزي كه تو نميخاي رو اجرا ميكنه.
موفق باشي.

2ndesigner
دوشنبه 11 مرداد 1389, 04:03 صبح
به نظر من، شما باید برای هر درس تو دیتابیس یک فیلد از نوع boolean اضافه کنید , بعد هم با if ، وضعیت دکمه ها رو برای هر درس تعیین کنید. (این فقط یه ایده است!!):متفکر: