MDI窗體與面板skinEngine

2021-05-09 14:30:56 字數 1088 閱讀 1364

目標:為了使

winform

介面更美觀,加深使用者體驗,可根據使用者喜好選擇**。

設計思路:在

winform

中採取訪問配置檔案的形式記憶使用者選擇的**檔名及路徑。

設計方法:使用基於

.net

開發的換膚控制項

skinengine

,將irisskin2.dll

(支援.net2.0

)加至vs2005

的工具箱中。即可進行開發了。

問題描述:

從配置檔案中讀取客戶設定的**檔案路徑時,有可能為空或檔案不存在。這樣的話,會導致

mdi窗體的**載入出現錯誤。

解決方法:當出現**檔案路徑為空或檔案不存在時,就不載入**檔案,即設定

skinengine

的屬性active

與skinallform。

所以載入配置檔案時加入如下判斷:

// 獲取客戶端**路徑(mocklystone 2009-10-12)

this .skinengine1.skinfile = configsettings .getskin("skin" , "skinfile" );

string name = configsettings .getskin("skin" , "skinname" );

if (string .isnullorempty(this .skinengine1.skinfile)||!system.io.file .exists(skinengine1.skinfile))

擴充套件知識:

mdi窗體載入

讀取配置檔案類

public

class

configsettings

///

/// 獲取客戶端的**檔案(mocklystone 2009-10-12)

///

///

///

///

public

static

string getskin(string section, string key)

}

VCLSkin面板在MDI窗體下的問題

vclskin 在mdi窗體下的問題 vcl元件開發及應用 我在程式裡面使用了vclskin 控制項版本2.74 控制項放在資料模組窗體裡面屬性設定為skinformtype屬性設定為sfmainform 然後mdi主窗體的create事件這樣寫 procedure tfrmmain.formcre...

MDI窗體設計

1.mdi窗體設計 乙個父體中包含幾個子窗體,子窗體共同顯示。2.屬性 ismdicontener 是否將當前窗體設定為父窗體,預設為false 3.設計步驟 1 首先將當前窗體a設定為父窗體 2 通過乙個選單控制項,建立子窗體物件 3 將子窗體的父窗體設定為窗體a 4.方法layou i 給子視窗...

MDI窗體容器

mdi窗體容器 一般來說,窗體是頂級容器,不允許放在其他任何容器內,但是如果將某個窗體的ismdicontainer屬性設定為true,那此窗體就會成為窗體容器,可以在其中放入其他窗體 在內部的窗體不管怎麼調整,是無法跳出其父級窗體容器的 注 如果想讓內部窗體一直最大化並且不要其顯示最大化最小化按鈕...