C winform介面重新整理

2021-07-12 04:59:49 字數 2570 閱讀 3179

本文要實現的功能,是使用c#語言自動重新整理頁面。這個功能使用timer可以很容易地實現。這裡需要實現的自動重新整理功能,要求可以從指定的幾種選項裡自由設定自動重新整理的時間間隔。

我實現的效果如下圖,這個demo定時重新整理的是中間label內文字的字型。

實現這一功能,要考慮到如下幾個方面:

1、這些選項最好可以在**中以非常簡便的方式新增,如構造乙個函式,而不是在拉介面的時候手工新增,並逐一設定事件。如果手工新增事件,會造成每次增加或減少乙個時間選項時,都要對其他所有選項的事件進行修改(至少各選項checked屬性的true和false會改)

2、用乙個計時器來進行重新整理時,「不啟用」這個選項比較特殊,該選項只需要關閉計時器即可,其他的時間間隔選項都是先把計時器停掉,修改時間間隔後再將計時器開啟

3、根據個人偏好(或業務需求),可以設定在每次變化自動重新整理時間間隔後是否立即重新整理一次,我的例子中,每次變化時間間隔後(選擇「不啟用」時除外),會立即重新整理一次

介面上的控制項如下:

窗體內**如下:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace

refreshtimelydemo

string font = new 

;///

/// 自動重新整理時間間隔項

///        linkedlistitems = new linkedlist();

////// 隨機數種子

///        random random = new random(datetime.now.millisecond);

////// 自動重新整理計時器

///        timer timer = new timer();

private

void

form1_load

(object sender, eventargs e)

timer.stop();

};items.addlast(tsminone);

btnrefreshconfig.dropdownitems.add(tsminone);

btnrefreshconfig.dropdownitems.add(new toolstripseparator());

addrefreshoption("500毫秒", 500);

addrefreshoption("1秒", 1000);

addrefreshoption("5秒", 5000);

btnrefreshconfig.dropdownitems.add(new toolstripseparator());

addrefreshoption("1分鐘", 60000);

addrefreshoption("5分鐘", 300000);

addrefreshoption("30分鐘", 1800000);

tsminone.checked = true;

timer.tick += (obj, arg) =>;}

////// 更新資料

///private

void

refreshfont

()        ///

/// 新增重新整理項

//////

///private

void

addrefreshoption

(string text, int interval)

timer.stop();

timer.interval = interval;

refreshfont();

timer.start();

};items.addlast(tempitem);

btnrefreshconfig.dropdownitems.add(tempitem);

}///

/// 手動重新整理

//////

///private

void

btnrefresh_click

(object sender, eventargs e)

////// 視窗退出前關閉計時器

//////

///private

void

formmain_formclosing

(object sender, formclosingeventargs e)}}

C Winform頻繁重新整理導致介面閃爍解決方法

一 通過對窗體和控制項使用雙緩衝來減少圖形閃爍 當繪製時出現閃爍時,使用雙緩衝 對於大多數應用程式,net framework 提供的預設雙緩衝將提供最佳效果。預設情況下,標準 windows 窗體控制項是雙緩衝的。可以通過兩種方法對窗體和所創作的控制項啟用預設雙緩衝。一種方法是將 doublebu...

C Winform頻繁重新整理導致介面閃爍解決方法

收藏 一 通過對窗體和控制項使用雙緩衝來減少圖形閃爍 當繪製時出現閃爍時,使用雙緩衝 對於大多數應用程式,net framework 提供的預設雙緩衝將提供最佳效果。預設情況下,標準 windows 窗體控制項是雙緩衝的。可以通過兩種方法對窗體和所創作的控制項啟用預設雙緩衝。一種方法是將 doubl...

C Winform頻繁重新整理導致介面閃爍解決方法

一 通過對窗體和控制項使用雙緩衝來減少圖形閃爍 當繪製時出現閃爍時,使用雙緩衝 對於大多數應用程式,net framework 提供的預設雙緩衝將提供最佳效果。預設情況下,標準 windows 窗體控制項是雙緩衝的。可以通過兩種方法對窗體和所創作的控制項啟用預設雙緩衝。一種方法是將 doublebu...