PDA

View Full Version : چگونه میتونم یک برنامه بنوسیم در صورت کپی کردن یک متن یک پیغام نمایش بده؟



Mosafers
چهارشنبه 06 خرداد 1394, 16:55 عصر
سلام دوستان من میخوام یک برنامه بنویسم تا در صورتی که کاربر یک متن رو کپی کرد بهم پیغام بده و متن رو نمایش بده لطفا کمکم کنید؟

god of war
چهارشنبه 06 خرداد 1394, 17:02 عصر
سلام مهندس
این دستور کپی انجام میده :

Clipboard.setText(textBox1.Text);

این دستور هم paste


textBox1.Text=Clipboard.getText();

طراح هم شمایی میتونی مدیریت کنیش :)

Mosafers
چهارشنبه 06 خرداد 1394, 17:38 عصر
سلام میدونم این دستور رو خودمم دارم.
از کجا بفهمم CLIPBOARD پر شده که بتونم متنش را نمایش بدم.
یک شرط گذاشتم اما موفق نشدم و با خطا های نتعدد مواجه شدم.

god of war
چهارشنبه 06 خرداد 1394, 17:42 عصر
ببین فکر میکنم باید خودت مدیریت کنی
یعنی مثلا متن مورد نظرت برای کپی وقتی ک select شد با یه contexMenu گزینه کپی رو ایجاد کن . shortCut هم بزا Ctrl+C بعئ کدتو داخل contex بنویس
حالا بازم منتظریم تا بقیه دوستان نظر بدن :)

محمد رضا فاتحی
چهارشنبه 06 خرداد 1394, 18:20 عصر
ببینید این موارد بکارتون میاد
http://stackoverflow.com/questions/2226920/how-to-monitor-clipboard-content-changes-in-c
http://stackoverflow.com/questions/621577/clipboard-event-c-sharp

Mahmoud Zaad
چهارشنبه 06 خرداد 1394, 18:23 عصر
سلام
این لینک (http://www.codeguru.com/columns/dotnettips/article.php/c7315/Monitoring-Clipboard-Activity-in-C.htm) رو نگاه کنید.

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

alibilgats
چهارشنبه 06 خرداد 1394, 19:51 عصر
سلام.
دوست خوبم نوشتن این کد خیلی راحته:


string tmp_txt = "";

private void Form1_Load(object sender, EventArgs e)
{
tmp_txt = Clipboard.GetText();
}

private void timer1_Tick(object sender, EventArgs e)
{
if (Clipboard.GetText() != tmp_txt)
{
tmp_txt = Clipboard.GetText();
MessageBox.Show(Clipboard.GetText());
}
}




interval تایمر هم بزار روی 100.
نکته مهمش اینه که پیغام متن کپی موقعی نشون داده میشه که مقدار کپی جدید با مقدار کپی قبلی فرق کنه!:چشمک: