+4 امتیاز
سلام خسته نباشید اساتید محترم

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

(مانند حالت screen saver ویندوز)

لطفا اگه امکان دارد کد کامل انرا بگذارید باتشکر از حمایت شما عزیزان.
بسته شده

2 پاسخ

+4 امتیاز
 
بهترین پاسخ

سلام

یه برنامه براتون نوشتن به درد کارتون میخوره

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.Globalization;


namespace mouseMove_timer
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        PersianCalendar p = new PersianCalendar();

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            timer1.Enabled = true;
            textBox1.Text = p.GetHour(DateTime.Now) + ":" + p.GetMinute(DateTime.Now) + ":" + p.GetSecond(DateTime.Now);
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            textBox2.Text = p.GetHour(DateTime.Now) + ":" + p.GetMinute(DateTime.Now) + ":" + p.GetSecond(DateTime.Now);

            try
            {
                DateTime first = DateTime.Parse(textBox1.Text);
                DateTime second = DateTime.Parse(textBox2.Text);
                TimeSpan ts = second - first;
                double hours = ts.TotalHours;
                int minute = second.Minute - first.Minute;
                int sec = second.Second - first.Second;
                if (minute < 0)
                {
                    --hours;
                    minute = 60 + minute;
                }
                if (sec < 0)
                {
                    --minute;
                    sec = 60 + sec;
                }
                textBox3.Text = hours.ToString("00") + ":" + minute.ToString("00") + ":" + sec.ToString("00");
                if (sec >= 10)
                {
                    timer1.Enabled = false;
                    //به جای مسیج باکس کد های مربوط به فرم لاگین رو بنویسید
                    MessageBox.Show("Hamid");

                }
            }
            catch
            {

            }
        }
    }
}

دانلود سورس

ادیت:

از خاصیت KeyPress فرم هم میتونید استفاده کنید(keypreview فعال باید باشه)

من از تکست باکس استفاده کردم تا کد ها مفهوم تر باشه

شما باید از متغییر استفاده کنید.

باگ:

یه چیزی رو متوجه شدم

اگر موس خارج از صفحه فرم حرکت کنه کدها کار نمی کنند، این رو نمی دونم چه جوری درستش کنم اگر کسی میدونه کمک کنه

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

شما یه کلاس جدید ایجاد کنید و کدها رو داخلش بنویسید و تو فرم هاتون کلاس رو فراخونی کرده و ازش استفاده کنید

و برای اینکه این مشکل پیش نیاد شرط بزارید که اگر فرم فعال نبود کدهای مربوط به نمایش فرم لاگین اجرا نشن
ویرایش شده توسط
توسط (1,019 امتیاز) 1 23 74
+4 امتیاز

انتخاب اول من برای ساخت اسکرین هم همین گزین بود که تو این صفحه هم سورس هستش هم توضیح

البته برای بهتر شدن خودت باید کدی های بهش اضافه کنی

 

خیلی ممنون

ولی خیلی کلی بود.
توسط (276 امتیاز) 14 37
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...