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

نام تاپیک: ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

  1. #1

    ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

    سلام
    من میخوام یه button ایجاد کنم ولی هیچ پس زمینه ای نداشته باشه.
    یعنی کاربر این دکمه رو نبینه ولی اگه تو محل قرار گیری این دکمه کلیک کنه دستورات مربوط به اون دکمه انجام بشه.
    ترجیحا اگه بشه دکمه هایی با شکل نامشخص(نه فقط مستطیل مثلا چند ضلعی های مختلف یا ستاره) وبا خاصیت گفته شده ساخت خیلی خوب میشه.

  2. #2

    نقل قول: ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

    یه لیبل بزار
    برو تو رنگش تو بخش web و transparent رو کلیک کن
    و بعد برو تو رویداد کلیک لیبل هر کاری خواستی بکن
    با سپاس

  3. #3

    نقل قول: ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

    ممنون
    ولی مشکل لیبل این که به هر اندازه و شکلی که میخوای نمیشه تبدیلش کرد.
    راه حلی برای این مشکل دارید؟

  4. #4

    نقل قول: ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

    خاصیت AutoSize لیبل رو false کن اونوقت میتونی تغییر اندازش بدی
    با سپاس

  5. #5

    نقل قول: ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

    برای چند ضلعی میتونی از کلاس زیر استفاده کنی. کلاس رو به پروژه اضافه و پروژه رو بیلد کنید.

    یک نمونه از این کنترل به فرم اضافه کنید. نقاط رو به لیست Polygon اضافه کنید و در رویداد PolygonClick کد مورد نظر را بنویسید.

    [DefaultEvent("PolygonClick")]
    public partial class Canvas : UserControl
    {
    public delegate void PolygonClickEventHandler(object sender, EventArgs e);
    public event PolygonClickEventHandler PolygonClick;

    List<PointF> polygon; //to hold points of the polygon

    public List<PointF> Polygon
    {
    get { return polygon; }
    set { polygon = value; }
    }

    public Canvas()
    {
    this.SetStyle(ControlStyles.Opaque, true);
    this.SetStyle(ControlStyles.OptimizedDoubleBuffer, false);
    }

    protected override CreateParams CreateParams
    {
    get
    {
    CreateParams parms = base.CreateParams;
    parms.ExStyle |= 0x20;
    return parms;
    }
    }
    private void Canvas_Paint(object sender, PaintEventArgs e)
    {
    // fetch the graphics object of the canvas
    Graphics g = e.Graphics;

    //draw polygon only if the number of points in the polygon is greater than two
    if (polygon != null && polygon.Count > 2)
    {
    //Draw the filled polygon
    g.FillPolygon(Brushes.Black, polygon.ToArray());
    }
    }

    protected override void OnMouseClick(MouseEventArgs e)
    {
    base.OnMouseClick(e);

    PointF currentPoint = e.Location;//to store the mouse location
    if (polygon != null && polygon.Count > 2)
    {
    //Ray-cast algorithm is here onward
    int k, j = polygon.Count - 1;
    bool oddNodes = false; //to check whether number of intersections is odd
    for (k = 0; k < polygon.Count; k++)
    {
    //fetch adjucent points of the polygon
    PointF polyK = polygon[k];
    PointF polyJ = polygon[j];

    //check the intersections
    if (((polyK.Y > currentPoint.Y) != (polyJ.Y > currentPoint.Y)) &&
    (currentPoint.X < (polyJ.X - polyK.X) * (currentPoint.Y - polyK.Y) / (polyJ.Y - polyK.Y) + polyK.X))
    oddNodes = !oddNodes; //switch between odd and even
    j = k;
    }

    //if odd number of intersections
    if (oddNodes)
    {
    //mouse point is inside the polygon
    OnPolygonClick(e);
    }
    }
    Refresh();
    }

    virtual public void OnPolygonClick(EventArgs e)
    {
    if (PolygonClick != null)
    {
    PolygonClick(this, e);
    }
    }
    }

  6. #6

    نقل قول: ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

    دیگه حرفه ای ها اومدن و من بیاد برم کنار
    ;)
    فقط یه سوال کار این چیه؟
    "null"
    با سپاس

  7. #7

    نقل قول: ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

    یعنی خالی بودن همون empty خودمون ("")
    (خالی بودن مقدار)

  8. #8

    نقل قول: ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

    میشه فایل سورس برنامه رو قرار بدین؟ یه کم هم بیشتر توضیح بدین؟
    آخه من مبتدی ام

  9. #9

    نقل قول: ساخت دکمه بدون هیچ گونه پس زمینه و با اشکال مختلف

    null بودن یعنی ارجاع سرگردان که با empty بودن متفاوته.
    وقتی میگید
    string str = null;
    str به هیچ جایی از حافظه اشاره نمیکنه(تخصیص حافظه صورت نگرفته)
    ولی وقتی میگید
    string str = ""; // OR  string str = string.Empty;
    تخصیص حافظه صورت گرفته با مقدار تهی ("").

    نمیتونید به مقدار متغیر null دسترسی پیدا کنید (چون حافظه نداره)
    ولی میتونید یک رشته empty رو چاپ کنید.

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: پنج شنبه 17 بهمن 1392, 03:33 صبح
  2. پاسخ: 6
    آخرین پست: جمعه 02 فروردین 1392, 12:56 عصر
  3. آموزش: ساخت ProgressBar زیبا و با گرافیک بالا بدون هیچ گونه ocx .واقعا راحت است
    نوشته شده توسط سید حمید حق پرست در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: جمعه 21 بهمن 1390, 14:09 عصر
  4. یک برنامه برای باز کردن در CD ROM (مردم آزاری)بدون هیچ فرمی!
    نوشته شده توسط houshmand در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 0
    آخرین پست: چهارشنبه 18 تیر 1382, 11:36 صبح

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

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