WinForm實(shí)現(xiàn)同時讓兩個窗體有激活效果的特效實(shí)例
更新時間:2014年09月25日 10:36:44 投稿:shichen2014
這篇文章主要介紹了WinForm實(shí)現(xiàn)同時讓兩個窗體有激活效果的特效實(shí)例,基于windows api實(shí)現(xiàn)一個窗體激活的時候給另外一個發(fā)消息的特效,在進(jìn)行C#項(xiàng)目開發(fā)時有一定的實(shí)用價值,需要的朋友可以參考下
本文實(shí)例講述了WinForm實(shí)現(xiàn)同時讓兩個窗體有激活效果的特效。主要采用windows api實(shí)現(xiàn)一個窗體激活的時候給另外一個發(fā)消息。分享給大家供大家參考。
具體實(shí)現(xiàn)方法如下:
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication43
{
public partial class Form1 : Form
{
Form frm =null;
public Form1()
{
InitializeComponent();
this.Activated += Form_Activated;
}
const int WM_NCACTIVATE = 0x86;
const int WA_ACTIVE = 0x1;
[DllImport("user32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam);
private void button1_Click(object sender, EventArgs e)
{
frm = new Form();
frm.Text = "jinjazz";
frm.Activated += Form_Activated;
frm.Show();
frm.Location = new System.Drawing.Point(this.Left + this.Width, this.Top);
SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0);
}
void Form_Activated(object sender, EventArgs e)
{
SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0);
if (frm != null)
SendMessage(frm.Handle, WM_NCACTIVATE, WA_ACTIVE, 0);
}
}
}
希望本文所述對大家的C#程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- WinForm實(shí)現(xiàn)窗體最大化并遮蓋任務(wù)欄的方法
- C#實(shí)現(xiàn)WinForm禁止最大化、最小化、雙擊標(biāo)題欄、雙擊圖標(biāo)等操作的方法
- Winform實(shí)現(xiàn)鼠標(biāo)可穿透的窗體鏤空效果
- Winform窗體效果實(shí)例分析
- WinForm實(shí)現(xiàn)自定義右下角提示效果的方法
- WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動新聞效果的方法
- C#實(shí)現(xiàn)winform漸變效果的方法
- C# WinForm實(shí)現(xiàn)Win7 Aero透明效果代碼
- winform下實(shí)現(xiàn)win7 Aero磨砂效果實(shí)現(xiàn)代碼
- 用 C# Winform做出全透明的磨砂玻璃窗體效果代碼
- WinForm實(shí)現(xiàn)狀態(tài)欄跑馬燈效果的方法示例
相關(guān)文章
C#逐行分元素讀取記事本數(shù)據(jù)并寫入數(shù)據(jù)庫的方法
這篇文章主要介紹了C#逐行分元素讀取記事本數(shù)據(jù)并寫入數(shù)據(jù)庫的方法,通過StreamReader類里的ReadLine()方法實(shí)現(xiàn)逐行讀取的功能,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12
C#判斷當(dāng)前程序是否通過管理員運(yùn)行的方法
這篇文章主要介紹了C#判斷當(dāng)前程序是否通過管理員運(yùn)行的方法,可通過非常簡單的系統(tǒng)函數(shù)調(diào)用實(shí)現(xiàn)對當(dāng)前程序是否通過管理員運(yùn)行進(jìn)行判定,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11
C#托管內(nèi)存與非托管內(nèi)存之間的轉(zhuǎn)換的實(shí)例講解
在本篇文章里小編給大家整理了關(guān)于C#托管內(nèi)存與非托管內(nèi)存之間的轉(zhuǎn)換的實(shí)例以及相關(guān)知識點(diǎn),需要的朋友們學(xué)習(xí)下。2019-08-08
C#中多線程ManualResetEvent 與 AutoResetEvent 區(qū)別
這篇文章主要介紹了C#中ManualResetEvent 與 AutoResetEvent 區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
C#使用Json.Net進(jìn)行序列化和反序列化及定制化
在本篇文章里小編給大家分享了關(guān)于C#使用Json.Net進(jìn)行序列化和反序列化及定制化的知識點(diǎn)總結(jié),需要的朋友們參考學(xué)習(xí)下。2019-05-05

