تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 3 اولاول 123 آخرآخر
نمايش نتايج 11 به 20 از 28

نام تاپيک: سلام کمک در ساخت tooltip که عکس قبول کند

  1. #11
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    ممنون از کدتون ولی من یک کامپوننت ساختم و این کد را در اون نوشتم و tooltip را هم به کامپوننت اضافه کردم اضافه کردم بعد که فایل dll ساختم و می خواهم ازش لستفاده کنم اصلا همچین خاصیتی را نداره اگر می شود بگین این کد را کجا بنویسم از اول تا آخر ببخشید

  2. #12
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    این کد که برایتان گذاشتم مختص ToolTip استاندارد دات نت است.
    یعنی اگر خودتان از صفر ToolTip ساخته اید که باید Opacity فرم را دستکاری کنید و اگر بخواهید مشکلتان را با خود ToolTip استاندارد دات نت حل کنید، کافیست سه دستور Declare را در سر مازول کدنویسی (بعد از Public Class ) و دستورات بعدی را در رویداد Draw مربوطه به ToolTip مورد نظر تایپی کنید، البته میتوانید دستورات ترسیمی خود برای Background و متن(e.DrawText) و .... را هم در قبل یا بعد این کد وارد کنید.

    یعنی با این کد نیازی به ساخت ToolTipجدید نیست.

    اگر باز هم نتوانستید مشکلتان را حل کنید، بگویید تا ...
    موفق باشید.

  3. #13
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    ببخشید این کدها را در کدام فایل بنویسم class.vb یا component یا در خود برنامه و این کد چجوری شفافیت tooltip را تغییر می دهد tooltip که خودش وقتی می خواد ناپدید شود خودش شفافیتش کم می شود این به چه درد می خورد؟ ببخشید ها سوال هست و دیگر اینکه من هدف اصلم طراحی یک tooltip از اول بود یعنی تمام کدهایش را خودم بنویسم و می خواستم اولین خاصیتش که opacity بود را چون یاد نداشتم شما بنویسید آیا نوشتن این خاصیت کد زیادی می خواهد که بی خیالش شوید ولی اگر نوشتن تنها همین خاصیت برای شما زمان زیادی را تلف نمی کند خوب خواهش می کنم بنویسید
    Last edited by ahsanjan; 21-07-2008 at 06:06.

  4. #14
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    rapidshare.com/files/131273858/WindowsApplication2.zip

  5. #15
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    سلام و خسته نباشید خدمته شما فکر کنم اصلا منظورم را بد توضیح دادم یا شما قشنگ متوجه نشدید آقای h2 من نمی دانم کد شما چکارمی کند یعنی نمی دانم بود و نبودشچه فرقی دارد ولی من منظورم این نیست که از tooltip ساخته شده استفاده کنید من می خواهم یک کنترول خودم بسازم که خودش خاصیت opacity داشته باشه شما این user control را ببینید من می خواهم همان صفحه ی مربع شکلرا بهش یک خاصیت اضافه کنم به نام opacity که وقتی مثلا بهش عدد 10 را می دهم مثل فرم پایینیش بشه



  6. #16
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    ==========
    من گمان کردم که شما نیاز به یک ToolTip با خاصیت Transparent دارید و هدفتان همین است و هنوز هم از پستهای قبلیتان همین برداشت را میکنم. هدف UserControl نبود، هدف ToolTip بود.

    نمونه ای هم که برایتان گذاشتم در همین راستا بود.
    یعنی بدون کد نویسی، ToolTip دات نت به طور صریح و مات نشان داده میشود ولی اگر در نمونه فوق دقت کنید، متوجه میشود ToolTip ای که روی محدوده مربع شکل نمونه نشان داده میشود، نیمه شفاف است و ضمینه و اجزای زیر ToolTip معلوم هستند، یعنی همان چیزی که من از مشکل شما از متن پستهای قبلیتان برداشت کرده بودم.

    میتوانید با دقت بیشتری برنامه نمونه را اجرا کنید و نتیجه را ببینید و مقدار ثابت OPACITY را برای تغییر میزان این شفافیت دستکاری کنید.
    ==========
    ولی مشکل جاری.
    اگر شما قصدتان ToolTip نیست و میخواهید کنترلرهای موجود را نیمه شفاف کنید، این کار یک سری قواعد ویندوزی دارد که دستتان را خواهد بست.
    اولاً بگذارید مشخص کنم که شفاف کردن با نیمه شفاف کردن تفاوت دارد...
    شفاف کردن مثل حالتی است که شما پنجره مستطیل شکلتان را مثلثی یا دایره ای میکند، یعنی قسمتی از آن را کلاً شفاف میکنید.
    ولی نیمه شفاف کردن ان چیزی است که خودتان در عکی نمونه نشان داده اید.

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

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

    در واقع UserControl و Form از یک جنس هستند و چندان تفاوتی ندارند.
    اگر UserControl ای قرار باشد به طور عادی استفاده شود و روی یک UserControl دیگر یا یک Form یا هر ظرف دیگری قرار بگیرد، مطلقاً امکان نیمه شفاف کردنش وجود ندارد.

    ولی میتوان UserControl را مستقل کرد، یعنی روی هیچ والد مشخصی نباشد، در اصل آن را به جای Form استفاده کرد که خودش مستقلاً در Desktop ویندوز شناور شود، در این حال میتوان نیمه شفاف اش کرد.

    ولی باید توجه داشت که این کار یعنی چرخواندن لقمه دور سر! چرا؟ برای آنکه باید کد بیشتری بنویسیم که به UserControl را مستقیماً در Desktop شناور کنیم (مثل یک Form) و باز باید کد بنویسیم تا نیمه شفاف شود (مثل Form) ، خوب اینکه میشود خود Form !!!! کافیست Border فرمتان را None کنید و این همه هم کد نویسی نکنید.!

    پس یک بار دیگر خلاصه بحث را مینوسیم، تا وقتی UserControl شما در زمان طراحی روی یک کنترلر دیگر قرار بگیرد و اصطلاحاً ظرف مشخصی داشته باشد، امکان نیمه شفاف کردن آن وجود ندارد.
    اگر هم بخواهید یک UserControl را مستقل و نیمه شفاف کنید هم نیازی نیست، چون شی مخصوصی به نام Form برای این کار وجود دارد.

    OK ؟؟؟

  7. #17
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    پس من تا حالا اشتباه فکر می کردم و دیگر اینکه من راستش می خواستم یک کنترول یا کامپوننت یک چیزی که روی فرم قرار بگیرد و نیمه شفاف شود بسازم بعد توش متن بنویسم و بشه شبیه tooltip ویندوز به نظر شما آیا راهی هست به جز user control که نمی شود باهاش این کار را کرد یعنی آیا با کامپوننت هم نمی شود یعنی هیچ راهی نیست با هیچ چیزی که بتوان این کار را کرد لطفا بگویید transparent هم که گفتید چی هست و اگر نمیشه ما هم چین چیزی بسازیم که روی فرم نیمه شفاف بشه پس مایکروسافت چجوری نوشته
    Last edited by ahsanjan; 22-07-2008 at 14:14.

  8. #18
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    برای ادامه راحت تر بحث، شما میتوانید مثالی از برنامه های مایکروسافت بیاورید؟؟؟؟
    تا بهتر متوجه شوم منظورتان چه جلوه ی گرافیکی بوده.

    ولی مجدداً تاکید میکنم که کنترلری که روی فرم باشد، نمیتواند نیمه شفاف باشد، ولی میتوان با جلوه های گرافیکی و استفاده بجا از تصاویر همچین توهم نیمه شفافیتی را به وجود آورد.

  9. #19
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2007
    پست ها
    119

    پيش فرض

    سلام آقای h2 ببخشید یک مشکلی برخودم نتونستم این یک ماه به اینترنت برسم منظور من این هست شما خودتون را به جای یکی از برنامه نویسان مایکروسافت بزارین و فکر کنین می خواهید یک tooltip بسازین همین tootip که تو ویزوال هست و فکر کنید که قبل شما این tooltip را کسی نساخته و در ویزوال همچین کنترولی نیست و شما می خواهید بسازید آیا می توانید بسازید چطور؟

  10. #20
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    من میتونم ToolTip دات نت را مجدداً بسازم و چرخ را مجدداً اختراع کنم، کار پیچیده اید نیست.
    ولی نمیدونم شما میدانید چه میخواهید؟
    یعنی منظورم ان است که ان بحث Transparent تمام شد؟ این الآن سوال جدید است؟
    ToolTip دات را میخواهید Transparent کنید، نیازی نیست ار نو بسازیدش، کافیست به پست 10 همین تاپیک مراجعه کنید.
    عکس هم میخواهید بندازید در پست 2 توضیح دادم.
    یعنی رسم کار اینطور است که فقط برای قابلیت جدید کد نویسی میکنیم، نه اینکه برای یک چیز کوچک، کل ابزار را از اول بسازیم.
    این از تفکرات پایه ای وراثت و OOP است.

    شما اگر میخواهید شیشه ماشینتان را دودی کنید، نمی روید خودتان از صفر و طراحی نقشه و جوشکاری و... ماشین بسازید!

    شما باید متوجه باشید که ساختن کپی ToolTip ارزشی جز ارائه به استاد و گرفتن نمره ندارد!
    اگر قصدتان تحویل دادن به استاد و گرفتن نمره نیست، این کار را به شما پیشنهاد نمیکنم، چون قبل از شما این کار انجام شده.

    =====

    اما روش پیاده سازی: (همانطور که قبلاً هم گفتم، شما باید)
    - یک Component جدید بسازید یا با کد دستی و وراثت یا با Project->Add Component
    - بعد واسط تک متدی System.ComponentModel.IExtenderProvider را در ان پیاده سازی کنید.
    - دو متد زیر را هم برای تکمیل واسط فوق اضافه کنید:
    Public Function GetToolTip(ByVal control As System.Windows.Forms.Control) As String
    (Public Sub SetToolTip(ByVal control As System.Windows.Forms.Control, ByVal caption As String

    - یک Form جدید خالی بدون Border و Caption و ShowInTaskbar و StartPosition بسازید.

    حالا کنترلر و متن ToolTip مورد نظر به متد SetToolTip شما پاس داده میشود.
    شما در این متد می آیید و مقادیر را ذخیره میکنید و با AddHandler رویداد های MouseEnter و MouseLeave و... کنترلر مورد نظر را هندلر میکنید.
    بعد هم مثلاً
    در رویداد MouseEnter کنترلر با متنی که قبلاً ذخیره کرده اید، Form را بر فراز کنترلر نمایش میدهید.
    و در رویداد MouseLeave هم اگر ماوس روی Form هم نبود، Form را مخفی میکنید
    و...
    و...

    روند کار بسیار ساده و روشن است، پیچیده گی ندارد، ولی یک کم زحمت کد نویسی دارد!
    شما شروع کنید، هر جایش گیر کردید، در خدمت هستم.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •