نمایش نتایج 1 تا 8 از 8

نام تاپیک: مشکل در نوشتن توان

  1. #1

    مشکل در نوشتن توان

    سلام من این قطعه کد رو نوشتم
    private void btnPower_Click(object sender, EventArgs e)
    {
    // total1 = total1 + double.Parse(txtDisplay.Text);

    total1 = double.Parse(txtDisplay.Text);
    txtDisplay.Clear();
    txtDisplay.Text = (total1 * total1).ToString();

    if (flag == 1)
    {
    txtDisplay.Text = "";
    }
    flag++;
    // txtDisplay.Clear();
    }

    من در اینجا میخوام توان یه ورودی رو حساب کنم فقط یکبار
    یعنی مثلا 2به توان 2 میشه 4 و فقط همین 4رو نشون بده و با زدن دکمه توان دیگه 4رو به توان نرسونه
    من کد بالا رو نوشتم و درست انجام میشه ولی یه مشکلی دارم اینه که اگه کاربر زیاد رو دکمه توان کلیک کنه برنامه اررور میده و هنگ میکنه واسه این باید چیکار کنم
    ؟
    یا اصلان راهی خودتون بلدین واسه چنین کاری که 1بار توان نشون به رو بگید

    ممنون میشم راهنمایی کنید
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 22 دی 1394 در 13:30 عصر

  2. #2
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: مشکل در نوشتن توان


    private void btnPower_Click(object sender, EventArgs e)
    {
    if(string.IsNullOrEmpty(txtDisplay.Text)) return;
    total1 = double.Parse(txtDisplay.Text);
    btnPower.Enable=false;
    txtDisplay.Clear();
    txtDisplay.Text =Math.Pow (total1 ,2).ToString();//توان 2 عدد ورودی
    btnPower.Enable=true;
    }
    First,solve the problem then write the code

  3. #3

    نقل قول: مشکل در نوشتن توان

    ممنون ازت
    ولی ارور میده
    این ارور

    Error 1 'System.Windows.Forms.Button' does not contain a definition for 'Enable' and no extension method 'Enable' accepting a first argument of type 'System.Windows.Forms.Button' could be found (are you missing a using directive or an assembly reference?)

    راستی میشه توضیح بدی که اون کدا چیکار میکنن و برای چی اینارو گذاشتی؟

  4. #4
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: مشکل در نوشتن توان

    عذر خواهی میکنم اشتباه املایی در نام خاصیت پیش اومد Enabled صحیح میباشد.دوست گرامی نمونه برنامه های ماشین حساب در این انجمن توسط دوستان برای آموزش و یادگیری گذاشته شده یکی دو نمونه دانلود کن و کد ها جهت یادگیری بیشتر بررسی کن
    First,solve the problem then write the code

  5. #5

    نقل قول: مشکل در نوشتن توان

    ممنون دوست عزیز میشه کد خودتونو توضیح بدین؟

    در ضمن استاد من میخوام که بیشتر از 1بار به توان نرسونه
    ولی من هر بار دکمه توان رو میزنم عدد قبلیو به توان میرسونه
    من فقط میخوام مثلا عدد 2رو به توان برسونم بشه 4 دیگه بیشتر از این نشه یعنی کاربر باز دکمه توان رو زد دیگه 16 رو نشون نده
    این فایل رو نگاه کنین منظورمو میفهمین

    http://up.ashiyane.org/images/ltl2si2853feswpp1n5t.rar

  6. #6

    نقل قول: مشکل در نوشتن توان

    در پست بالا دوستمون در خطهای 5 و 8 خصوصیت Enable نوشتند که در واقع باید Enabled باشد صرفا اشتباه تایپی است!

    در مورد توضیح برنامه فکر نمیکنم توضیح خاصی نیاز باشد
    خط 3 : مقدار تکست باکس را چک میکند اگر خالی باشد از این رخداد خارج میشود تا دستورات پایینی اجرا نشوند و خطا ندهند
    خط4: ارزش عددی معادل رشته موجود در تکست باکس را محاسبه کرده و در متغییر totla1 میرزید
    خ5: باتن مورد نظر را غیرفعال میکند
    خ6: محتوای تکست باکس را خالی میکند (نیازی به این دستور نبود چون در هرصورت درخط بعدی به آن تکست باکس مقدار داده شده است پس مقادیر قبلی آن خود به خود پاک میشدند)
    خ7: محاسبه توان دوم عدد total1 و ریختن آن به داخل تکست باکس
    خ8: باتن موردنظر را فعال میکند

    توجه غیرفعال کردن و فعال کردن باتنها در اینجا کمی غیر منطقی است البته کار خوبی بود اگر محاسبات بین این دو دستور خیلی طول میکشید کاربرد خیلی خوبی میداشت و باعث میشد که در حین محاسبه کاربر دوباره بروی این گزینه کلیک نکند

  7. #7

    نقل قول: مشکل در نوشتن توان

    اگر میخواهید فقط یکبار محاسبه کنید در خط 8 برنامه عبارت true را به false تبدیل کنید تا کاربر فقط یکبار بتواند بروی آن کلیک کند

  8. #8

    نقل قول: مشکل در نوشتن توان

    خیلی ممنون دوست عزیز

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •