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

نام تاپیک: بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

  1. #1
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    تیر 1396
    پست
    45

    بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

    سلام دوستان
    در فایل ضمیمه دو برنامه قرار دارد ، ابتدا لطفاً دو فرم اجرائی دو پوشه به عناوین Prj1.exe و Prj2.exe را اجرا نمائید سپس فرم 2 (فرم کوچکتر) را در زیر یک پنجره مثل Documents قرار بدهید و بعد بر روی فرم 1 ( فرم بزرگتر) کلیک نمائید ؛ خواهید دید که فرم 2 بالا آمده و بر روی پنجره Documents قرار می گیرد .
    من کد فعال نمودن فرم 2را با بدست آوردن هندل آن در تایمر فرم 1 قرار داده ام و می خواهم تایمر وقتی به یک عددی رسید فرم 2 که در زیر است بالا قرار گیرد .
    این اتفاق می افتد ولی به شرطی که فرم 1 فعال باشد و اگر فوکوس بر روی پنجره ای دیگر باشد یا اینکه فرم 1 بصورت مخفی اجرا شود این اتفاق نمی افتد .
    اساتید عزیزلطفاً راهنمائی فرمایند که با چه راهکاری که اگر فرم 1 بصورت مخفی باز و عدد تایمر برابر یا بزرگتر از مقداری گردید فرم شماره 2 فعال شده
    با تشکر
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    اصفهان
    پست
    717

    نقل قول: بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

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

  3. #3
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    تیر 1396
    پست
    45

    نقل قول: بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

    نقل قول نوشته شده توسط www.pc3enter.tk مشاهده تاپیک
    ببین ، فقط ببخشیدا
    من سوالت را خواندم ولی درست متوجه نشدم روی چه چیزی مشکل داری.
    و دیگر این که میخواهی اصلا تو برنامه ات چه کار کنی و ، و اون برنامه ات کارش چیست که مجبور به استفاده همچین کاری میخواهی بشی.
    سلام
    به تصویر ضمیمه که از صفحه یک سایت گرفته ام و راهکار بستن یک پنجره با گرفتن عنوان آن را آموزش داده توجه بفرمائید

    منظور بنده این است که با کدهای فوق در داخل یک تایمر زمانی میتوانید یک پنجره را ببندید که خود فرمی که تایمر در آن قرار دارد درحالت فعال باشد و اگر فوکوس بر روی پنجره دیگری باشد پنجره مورد نظر بسته نخواهد شد.
    و سوالم هم این است که آیا راهکاری وجود دارد که اگر خود فرمی که تایمر در آن قرار دارد فعال نباشد پنجره مورد نظر بسته شود؟
    عکس های ضمیمه عکس های ضمیمه

  4. #4

    نقل قول: بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

    سلام
    منظورتون رو دقیق توضیح ندادین ولی تصور میکنم این تابع بتونه کار شما رو راه بندازه
    دقت کنید فقط یکبار فراخوانی تابع SetOnTop کافیه و لازم نیست دائم در تایمر فراخوانی بشه مگر اینکه فرم بسته بشه یا بخواین حالتش رو عوض کنین
    فایل های ضمیمه فایل های ضمیمه
    اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com

  5. #5
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    تیر 1396
    پست
    45

    نقل قول: بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

    نقل قول نوشته شده توسط vbhamed مشاهده تاپیک
    سلام
    منظورتون رو دقیق توضیح ندادین ولی تصور میکنم این تابع بتونه کار شما رو راه بندازه
    دقت کنید فقط یکبار فراخوانی تابع SetOnTop کافیه و لازم نیست دائم در تایمر فراخوانی بشه مگر اینکه فرم بسته بشه یا بخواین حالتش رو عوض کنین
    سلام جناب استاد فرجام فر
    بابت عنایتتون به این تاپیک بسیار ممنونم
    با توجه به اینکه من میخواهم فرم استارت آپ اکسس را از داخل فایل vb اجرا کنم و تابع جنابعالی چون مربوط به بالا قرار دادن فرمی در همان برنامه وی بی است برای برنامه من کاربردی نبود .
    باتشکر
    آخرین ویرایش به وسیله atf_1379 : شنبه 01 مهر 1396 در 16:43 عصر

  6. #6
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اسفند 1394
    پست
    39

    نقل قول: بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

    نقل قول نوشته شده توسط atf_1379 مشاهده تاپیک
    سلام
    به تصویر ضمیمه که از صفحه یک سایت گرفته ام و راهکار بستن یک پنجره با گرفتن عنوان آن را آموزش داده توجه بفرمائید

    منظور بنده این است که با کدهای فوق در داخل یک تایمر زمانی میتوانید یک پنجره را ببندید که خود فرمی که تایمر در آن قرار دارد درحالت فعال باشد و اگر فوکوس بر روی پنجره دیگری باشد پنجره مورد نظر بسته نخواهد شد.
    و سوالم هم این است که آیا راهکاری وجود دارد که اگر خود فرمی که تایمر در آن قرار دارد فعال نباشد پنجره مورد نظر بسته شود؟
    سلام
    اگر میخواهید فرمی که تایمر در آن قرار دارد فعال باشد و همزمان دیده نشود یک راهکار این است که آن فرم را در سایز خیلی کوچک و بصورت شیشه ای در بیاورید و بعد از بالا قرارگرفتن فرم مورد نظرت دستور end (برای بسته شدن آن ) در همان رخداد تایمر وارد کنید .
    یا علی

  7. #7
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    تیر 1396
    پست
    45

    نقل قول: بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

    نقل قول نوشته شده توسط eb_343 مشاهده تاپیک
    سلام
    اگر میخواهید فرمی که تایمر در آن قرار دارد فعال باشد و همزمان دیده نشود یک راهکار این است که آن فرم را در سایز خیلی کوچک و بصورت شیشه ای در بیاورید و بعد از بالا قرارگرفتن فرم مورد نظرت دستور end (برای بسته شدن آن ) در همان رخداد تایمر وارد کنید .
    یا علی

    راهکارت عالی بود جناب بهرامی!
    متشکرم

  8. #8

    نقل قول: بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

    سلام

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

    راه اصولی اینه که هندل همون فرمی که قراره ببندینش رو بدست بیارید و با توابع Api مثل SendMessage پیام بستن رو بهش ارسال کنید، اینطوری دیگه نیاز به بالا بودنش هم نیست

    در حالت پیشرفته تر با هوک کردن توابعی مثل نمایش پنجره میتونید کلا جلوی نمایشش رو از اول بگیرید
    اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com

  9. #9
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    تیر 1396
    پست
    45

    نقل قول: بالا قراردادن پنجره ای از یک برنامه دیگر که در زیز پنجره های باز دیگر است

    نقل قول نوشته شده توسط vbhamed مشاهده تاپیک
    سلام

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

    راه اصولی اینه که هندل همون فرمی که قراره ببندینش رو بدست بیارید و با توابع Api مثل SendMessage پیام بستن رو بهش ارسال کنید، اینطوری دیگه نیاز به بالا بودنش هم نیست

    در حالت پیشرفته تر با هوک کردن توابعی مثل نمایش پنجره میتونید کلا جلوی نمایشش رو از اول بگیرید
    سلام جناب استاد فرجام فر
    شاید در پست هایم نتوانسته ام منظور و خواسته خودم را دقیق بیان کنم ؛ هدف بستن یک فرم که بر روی پنجره های دیگر است نیست بلکه هدف بالا آوردن پنجره ای است که در زیر پنجره های باز دیگر پنهان شده است.
    من از داخل فرم vb ، برنامه اکسس را اجرا می کنم اما چون اکسس را باید در حالت مخفی اجرا نمایم بخاطر همین فرم استارت آپ آن در زیر پنجره های دیگر که باز هستند پنهان میشود .مثلاً اگر پنجره My Computer بر روی صفحه دسکتاپ باز باشد و من اقدام به اجرای برنامه اکسس نمایم فرم اولیه اکسس باز میشود ولی در زیر پنجره My Computer .
    یکی از کارهای که برای رفع این مشکل انجام دادم این بود که در رویداد Load و یا رویداد time فرم استارت آپ اکسس از توابع فوق استفاده کردم ولی تاثیری نداشت ؛ بعد آمدم از داخل فرم vb که صرفاً بعنوان لودر فایل اکسس از آن استفاده می کنم با بدست آوردن هندل فرم اکسس از توابع فوق استفاده کردم ولی باز هم بی تاثیر بود چون همانطور که اشاره کردم اگر همان فرم vb در حالت مخفی اجرا شود دستور کار نمی کند .
    اینکه راهکار آقای بهرامی راهگشا بود این است که فرم vb را بصورت نامرئی که در عین حال هم فعال است اجرا می کنم و بعد با شرط بالا آمدن فرم اکسس با دستور end آن را می بندم (چون بعد از این به فایل وی بی احتیاجی ندارم )
    با تشکر

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

  1. پاسخ: 0
    آخرین پست: سه شنبه 24 اسفند 1389, 00:55 صبح
  2. سوال: دسترسی به مقدار تکس باکس یک برنامه از یک برنامه دیگر
    نوشته شده توسط سجاد ش در بخش C#‎‎
    پاسخ: 5
    آخرین پست: دوشنبه 16 اسفند 1389, 10:12 صبح
  3. سوال: چگونگي گرفتن ديتا از يك برنامه ديگر و وارد كردن به وب سرويس و بعد هم ديتابيس!!
    نوشته شده توسط bamzi software در بخش WCF , Web Services , .Net Remoting
    پاسخ: 11
    آخرین پست: یک شنبه 24 بهمن 1389, 10:04 صبح
  4. سوال: اضافه کردن فرم از یک برنامه دیگر به برنامه
    نوشته شده توسط 1234 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 18 مهر 1389, 01:48 صبح
  5. استفاده از یک برنامه دیگر در برنامه خودم
    نوشته شده توسط cazino86 در بخش C#‎‎
    پاسخ: 6
    آخرین پست: پنج شنبه 11 شهریور 1389, 14:46 عصر

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

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