مثالی دیگر و استفاده از Label و TextBoxها |
فرض کنید بخواهیم فرمی داشته باشیم که دارای دو Text Box (که در VB برای عملیات دریافت اطلاعات از کاربر (DataEntrq) معمولاً از این کنترل استفاده می شود) برای درجه سیلسیوس و درجه فارنهایت باشد و توسط یک دکمه (و در واقع با فشردن آن توسط کاربر) مقداری که در Text box مربوط به درجه سیلسیوس نوشته شده بود را به فارنهایت تبدیل کند و نتیجه را در Text Box مربوط به آن درج نماید. (توجه: اگر Cمقدار درجه برحسب سیلسیوس و F مقدار درجه برحسب فارنهایت باشد، تبدیل سیلسیوس به فارنهایت از فرمول F=9/5 C+32 محاسبه می شود). شکل نهایی فرم را می توانید در شکل 4 ببینید.
برای این منظور، از جعبه ابزار (جعبه حاوی کنترلها) ، دو برچسب (Label) که در جعبه ابزار به شکل 1- مشخصه Name را به lblCelsius 2- مشخصه Caption را به Celsius و برای دیگری: 1- مشخصه Name را به lblFahrenheit 2- مشخصه Caption را به Fahrenheit تغییر می دهیم. توجه داریم که در نامگذاری Label ها با سه حرف اول lbl آغاز کرده ایم. همچنین توجه داریم که در شکل 4 ، بر روی فرم، عبارات Celsius و Fahrenheit در واقع همین دو Label هستند. نکته: برای Label هایک مشخصه (Property) دیگر به نام Auto Size وجود دارد که اگر مقدار آن را به True تغییر دهیم، اندازه (size) آن به طور اتوماتیک به اندازه متن (caption) داخل آن خواهد شد و بنابراین معمولاً بهتر است این مشخصه را نیز set کنیم. حال دو Text Box (جعبه متن) در مقابل این Label (Text Box ها در جعبه ابزار به شکل 1- مشخصه Name رابه txtCelsius تغییر می دهیم. 2- مشخصه Text را خالی می کنیم. و برای دیگری: 1_ مشخصه Name را به txtFahrenheit تغییر می دهیم. 3- مشخصه Text را خالی می کنیم. واضح است که در نامگذاری TextBox ها نیز از قرارداد سه حرف اول متناسب با نوع شئ، استفاده کردیم و سه حرف اول آنها را txt گذاشتیم. مشخصه Text در Textbox ها آن متنی است که داخل آن متنی است که داخل آن نوشته می شود(شبیه مشخصهCaption در Label ها) و چونقرار است کاربرما آن را وارد کند، آن را خالی (NULL) کردیم. حال یک دکمه (Command button) نیز به فرم اضافه و: 1- مشخصه Name را به cmdConvent 2- مشخصه Caption را به convent تغییر می دهیم. خوب، ظاهر (Interface) برنامه آماده شد. حال به کدنویسی برای آن می پردازیم. این اولین باری است که می خواهیم در زمان اجرا (Run Time) از مشخصه ای استفاده کنیم (مشخصه Text از txtCelsiusکه توسط کاربر وارد شده) و مشخصه ای را در این حال (Run Time) تغییر دهیم (مشخصه Text ازtxtFahrenheit که باید نتیجه را بنویسد) در VB هنگام کدنویسی برای Run Time هر زمان بخواهیم از یک استفاده کنیم، کافی است نام (Name) آن را بنویسیم و اگر بخواهیم به یکی از مشخصه های آن دست یابیم، کافی است پس از نام آن یک نقطه (Dot) قرار دهیم و سپس نام مشخصه (Property) مورد نظر خورد را بنویسیم. با توجه به این مطلنب، دیگر نوشتن کدهای مثال فوق کار چندان دشواری نیست. اگر بر روی دکمه Convent (البته در Design Time ) دابل کلیک نمایید، در اینصورت Procedure مربوط به رویدادِ(Event) کلیک از آن باز می شود که کافی است در آن نوشته شود: txtFahrenheit.Text = (9/5*txtCelsius.Text) + 32 یعنی Procedure باید به شکل زیر شود:
Private Sub cmdConvent_Click () txtFahrenheit.Text = (9/5*txtCelsius.Text) +32 End Sub واضح است که وقتی مشخصه Text از یک Text Box در سمت یک تساویِ جایگزینی قرار می گیرد، مقدار فعلی آن در عملیات شرکت می کند و وقتی این مشخصه در سمت چپ این جایگزین قرار می گیرد، مقادیر محاسبه شده در آن قرار می گیرد. |