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

نام تاپیک: شناخته نشدن listbox در تابع!

  1. #1

    شناخته نشدن listbox در تابع!

    سلام
    شاید سوالم خیلی پیش پا افتاده باشه!
    شرمنده!
    این جور سوالات که از یه سطحی پایین تره با جست و جو پیدا نمیشه...

    من یک listbox دارم - می‌خواهم از آن در تابعی که تعریف کرده ام استفاده کنم, ارور میده و listbox مرا نمیشناسه!

                    listBox1.Items.Add(i); 


    در:


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;

    namespace Use_Thread
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    static int i,j;
    static Thread t1;

    public static void counter1()
    {
    for(int i=0;i<1000;i++)
    {

    listBox1.Items.Add(i);


    }
    }


    }
    }


  2. #2
    کاربر دائمی آواتار mahdi87_gh
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    قزوین
    پست
    448

    نقل قول: شناخته نشدن listbox در تابع!

    چون شما تابع رو به صورت static تعریف کردید این مشکل پیش میاد. وقتی تابعی رو بصورت استاتیک تعریف میکنید، این تابع بدون اینکه شما آبجکتی از نوع کلاس آن ( همان کلاسی که تابع استاتیک درون آن تعریف شده) بسازید، قابل استفاده خواهد بود. اما شما تا آبجکتی از نوع این فرم نسازید نمیتونید از لیست باکس درون آن استفاده کنید. در نتیجه تناقض دسترسی بوجود میاد

  3. #3

    نقل قول: شناخته نشدن listbox در تابع!

    نقل قول نوشته شده توسط mahdi87_gh مشاهده تاپیک
    چون شما تابع رو به صورت static تعریف کردید این مشکل پیش میاد. وقتی تابعی رو بصورت استاتیک تعریف میکنید، این تابع بدون اینکه شما آبجکتی از نوع کلاس آن ( همان کلاسی که تابع استاتیک درون آن تعریف شده) بسازید، قابل استفاده خواهد بود. اما شما تا آبجکتی از نوع این فرم نسازید نمیتونید از لیست باکس درون آن استفاده کنید. در نتیجه تناقض دسترسی بوجود میاد
    یعنی باید چه کنم؟!
    راحی است که تابع را تغریف کنم, static هم باشه!

  4. #4

    نقل قول: شناخته نشدن listbox در تابع!

    بهتره به این شکل انجام بدید :

    public partial class Form1 : Form
    {
    void Counter1(ListBox list)
    {
    for (int i = 0; i < 1000; i++)
    list.Items.Add(i.ToString());
    }

    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    Counter1(listBox1);

    }
    }


    موفق باشید ./






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

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