防止WinForm閃爍

2022-08-27 20:09:12 字數 825 閱讀 4526

一、起因

相信很多在用vs開發winform的客戶端程式的碼農,都會碰到如題所示的問題。窗體在關閉或者開啟時,總是會閃爍一下。對於我這種強迫症患者,看到這個閃來閃去,心裡就不好。

隨後在網上蒐羅了一下,雜七雜八,你一言我一句,試遍了所有的方法,最終確定了以下方法,我試驗後不再閃爍。

二、**實現

網上的**大部分都是用的c#,我將其換成了vb.net。將以下的**放置於需要防止窗體閃爍的父窗體中

1

public

subnew()2

initializecomponent()

3 setstyle(controlstyles.userpaint, true

)4 setstyle(controlstyles.allpaintinginwmpaint, true

)5 setstyle(controlstyles.optimizeddoublebuffer, true)6

end sub78

protected

overrides

readonly

property createparams as

createparams

9get

10dim cp as createparams = mybase

.createparams

11 cp.exstyle = cp.exstyle or &h2000000

12return

cp13

endget

14end property

Winform 重新整理閃爍

線路編輯檔案工具。黑色panel中有一些自定義控制項,可能超出螢幕範圍,可能很長。要求拖動panel 時,拖動這些控制項,檢視螢幕外的資訊。直接想法 滑鼠move的時候,改變自定義控制項的left.但是會閃爍,效果不太好。新增這個 之後,不閃爍了,但是一半一半的顯示,刷的太慢,根本無法接受。prot...

winform 防止多開

場景 當我們的電腦可以使用多使用者同時登入時候,每個使用者只允許執行一次exe程式。例如 一台公用電腦,有多個使用者a b。當使用者a進入系統第一次執行c xx.exe,ok。第二次執行xx.exe提醒 已經重複開啟 當使用者b進入系統第一次執行c xx.exe,ok。第二次執行xx.exe提醒 已...

winform 防止多開

場景 當我們的電腦可以使用多使用者同時登入時候,每個使用者只允許執行一次exe程式。例如 一台公用電腦,有多個使用者a b。當使用者a進入系統第一次執行c xx.exe,ok。第二次執行xx.exe提醒 已經重複開啟 當使用者b進入系統第一次執行c xx.exe,ok。第二次執行xx.exe提醒 已...