PDA

View Full Version : صفحه نرم افزار ساخته شده روی تمامی صفحه ها (خاصیت TopMost)



daniyal_1363
جمعه 24 تیر 1390, 12:14 عصر
سلام

یه مدتی هست که از vb به vb.net کوچ کردم و الان به مشکل خوردم

میخوام که چندتا از فرم هام تمام مدت روی فرم ها دیگه باشن - تا اینجا مشکلی ندارم با یه تایمر topmost فرم هام رو هر 100 صدم ثانیه true میکنم و این اتفاق میفته ولی مشکلی که هست اینکه صفحه هام دائم در حال Refresh شدن هستن و انکار صفحه باز و بسته میشه و این نمای جالبی به برنامه نمیده.:افسرده:

نمونه گذاشتم - وقتی روی صفحه اولی کلیک کنید صفحه دوم باز میشه و دائم refresh میشه - در ضمن لازمه کاربر بتونه داخل textbox صفحه دوم تایپ کنه

اگه راه حل بهتری سراغ دارین ممنون میشم راهنمایم کنین:لبخندساده:

juza66
جمعه 24 تیر 1390, 12:59 عصر
سلام دوست من

لازم نیست که از تایمر استفاده کنی!!
وقتی قسمت تنظیمات فرم Topmost رو true کنی همیشه فرم در بالای پنجرهای دیگه میمونه ..

daniyal_1363
جمعه 24 تیر 1390, 15:57 عصر
سلام دوست من

لازم نیست که از تایمر استفاده کنی!!
وقتی قسمت تنظیمات فرم Topmost رو true کنی همیشه فرم در بالای پنجرهای دیگه میمونه ..



سلام

نمیشه !!!
منوی استارت رو باز کن تا متوجه بشی - این جوری منوی استارت روی فرم ها باز میشه ، یا اینکه یه نرم افزار دیگه مثل TeraCopy که TopMost اون هم True وقتی باز میشه روی فرم ما باز میشه ( در اصل میخوام وقتی نرم افزار ما باز هست کاربر نتونه از هیچ نرم افرار دیگه ای و با قسمت های مختلف ویندوز استفاده کنه )

juza66
جمعه 24 تیر 1390, 17:37 عصر
سلام مجدد

آهان مثلا میخوای دسکتاب رو قفل کنی؟! :متفکر:

خو یکاری کن وقتی برنامه باز شد کلیدهای مثل ویندوز، W+L و غیره رو تو برنامه تعریف کن که از کار بیافتن همین ...

daniyal_1363
جمعه 24 تیر 1390, 21:44 عصر
میشه یه نموه بزارین ؟

juza66
جمعه 24 تیر 1390, 22:38 عصر
سلام دوست من

لينك سورس:
http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=3609&lngWId=10

daniyal_1363
چهارشنبه 29 تیر 1390, 12:07 عصر
سلام دوست من

لينك سورس:
http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=3609&lngWId=10



سلام

این نمونه یه مقداری واسه من پیچیدست(گفتم که تو .net تازه کارم) ، در ضمن برنامه خطا میده و فکر کنم احتیاج به dll داره.

!!!...Plz Help Me

juza66
چهارشنبه 29 تیر 1390, 17:59 عصر
سلام دوست من


این یک راهکار:

تابع مور استفاده :


Public Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long

fBlock : اگر مقدار این تابع True باشد ماوس و صفحه کلید قفل خواهند شد و اگر False باشد آزاد خواهند گشت.


کد برنامه در Form_load برنامه :


()Private Sub Form_load

BlockInput True

End Sub

تذکر مهم : شما باید مواظب باشد تا کار دست خودتون ندید.برای همین یه تایمر به برنامه اضافه کنید و Interval اون رو برابر 5000 قرار بدید و کد زیر رو توش بنویسید تا بعد از 5 ثانیه ماوس و صفحه کلیدتون آزاد بشه.



()Private Sub Timer1_Timer

BlockInput False

End Sub

عمل قفل کردن را می توان با کلید ترکیبی Alt + Ctrl + Del خنثی کرد.

منبع:
http://forum.honarjo.com/showthread.php?tid=900


راهکار دوم رو تا شب برات میذارم

daniyal_1363
یک شنبه 02 مرداد 1390, 21:37 عصر
سلام

ممنون ولی نمیشه

باید توی نرم افزار هم بتونه هم از صفحه کلید برای تایپ استفاده کنه و هم از موس برای کلیک ، این جوری هر دور ورودی (موس و صفحه کلید) از کار میفته

daniyal_1363
پنج شنبه 06 مرداد 1390, 08:43 صبح
دوستان و مهندسین عزیر کسی راه حل مناسبی نداره ؟:متفکر::افسرده: