999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C#環(huán)境下的“類嵌入式操作系統(tǒng)”設(shè)計(jì)與實(shí)現(xiàn)

2018-05-26 09:48:08周淑華
卷宗 2018年10期

周淑華

摘 要:文章針對(duì)模擬訓(xùn)練軟件開發(fā)中需要用到的嵌入式操作系統(tǒng)的控件進(jìn)行了研究,并在C#環(huán)境下對(duì)常用操作系統(tǒng)控件的設(shè)計(jì)進(jìn)行了研究,提出設(shè)計(jì)的思路并進(jìn)行了實(shí)現(xiàn)。研究結(jié)果表明,此種設(shè)計(jì)方法能夠解決在windows環(huán)境下模擬嵌入式操作系統(tǒng)操作界面的問題,對(duì)于研發(fā)裝備操作類的模擬訓(xùn)練軟件具有一定的參考意義。

關(guān)鍵詞:控件;操作系統(tǒng);

為了便于用戶對(duì)裝備的參數(shù)進(jìn)行配置,在很多裝備研制的過程中都會(huì)采用嵌入式操作系統(tǒng),比如VxWorks WinCE等。嵌入式操作系統(tǒng)因其運(yùn)行速度快,占用內(nèi)存小等優(yōu)勢(shì),得到了廣泛的應(yīng)用。而在很多模擬訓(xùn)練軟件開發(fā)的過程中,需要在Windows環(huán)境下,對(duì)裝備的參數(shù)配置界面進(jìn)行模擬,也即模擬出類似嵌入式操作系統(tǒng)的操作界面,便于用戶對(duì)裝備操作進(jìn)行模擬訓(xùn)練。因此,怎樣在Windows環(huán)境下設(shè)計(jì)出一個(gè)類似嵌入式操作系統(tǒng)的“類嵌入式操作系統(tǒng)”,能夠完成嵌入式操作系統(tǒng)的一些功能,滿足模擬訓(xùn)練軟件開發(fā)的特定需求,也就變得有一定意義。本文正是基于此,提出了一種基于C#環(huán)境下的“類嵌入式操作系統(tǒng)”設(shè)計(jì)方法,并在工程實(shí)踐中得到了應(yīng)用,應(yīng)用結(jié)果表明,該方法正確可行,具有一定推廣應(yīng)用價(jià)值。

1.“類嵌入式操作系統(tǒng)”設(shè)計(jì)需要解決的關(guān)鍵問題

“類嵌入式操作系統(tǒng)”設(shè)計(jì)需要解決的關(guān)鍵問題主要包括三個(gè)方面:一是操作系統(tǒng)底層算法設(shè)計(jì);二是操作系統(tǒng)界面控件設(shè)計(jì);三是操作系統(tǒng)界面控件所承載的參數(shù)之間約束關(guān)系的設(shè)計(jì)。對(duì)于第一個(gè)問題來(lái)說(shuō),Windows操作系統(tǒng)本身的擁有非常強(qiáng)大的功能,因此,底層算法完全可以由Windows來(lái)解決,用戶無(wú)需再加考慮;對(duì)于第三個(gè)問題,需要根據(jù)具體裝備參數(shù)之間的約束關(guān)系來(lái)定,需要具體問題具體對(duì)待,無(wú)法統(tǒng)一設(shè)計(jì);對(duì)于第二個(gè)問題,Windows本身也提供了一些標(biāo)準(zhǔn)的控件,比如文本框控件、下拉列表控件等,但是,這些控件和嵌入式操作系統(tǒng)的控件無(wú)論在外觀方面還是在控制方式方面都有差別。比如,在控件的控制方式方面,Windows一般采用鼠標(biāo)操作控件,而嵌入式操作系統(tǒng)很少用鼠標(biāo)操作,多用鍵盤對(duì)控件進(jìn)行操作。因此,需要對(duì)操作系統(tǒng)的界面控件進(jìn)行重新設(shè)計(jì),使之符合嵌入式操作系統(tǒng)的操作需求,所以,操作系統(tǒng)界面控件設(shè)計(jì)問題是“類嵌入式操作系統(tǒng)”設(shè)計(jì)的重點(diǎn),也是難點(diǎn),本文主要針對(duì)此問題進(jìn)行研究,對(duì)嵌入式操作系統(tǒng)中的文本輸入控件、組合框控件、列表顯示控件、對(duì)話框控件和單選按鈕控件等五種主要控件進(jìn)行設(shè)計(jì)。

2.“類嵌入式操作系統(tǒng)”控件設(shè)計(jì)與使用

(1)文本輸入控件

文本輸入框控件(INPUTBOX)是嵌入式操作系統(tǒng)最常用的控件之一,它是實(shí)現(xiàn)用戶文本輸入和參數(shù)顯示的接口,它以Windows標(biāo)準(zhǔn)控件Label控件為基類進(jìn)行設(shè)計(jì)。類屬性除了包含Label控件的所有屬性之外,還包括控件被輸入次數(shù)屬性(iCount)和控件是否為焦點(diǎn)控件屬性(bFocus),類成員函數(shù)除了包含Label控件的的所有成員函數(shù)之外,還包括使控件成為焦點(diǎn)控件函數(shù)(SetFocus())、使控件退出焦點(diǎn)函數(shù)(OutFocus())、控件參數(shù)輸入函數(shù)(input(string key)),可以實(shí)現(xiàn)字符的輸入、刪除以及焦點(diǎn)的切換操作。INPUTBOX控件主要代碼設(shè)計(jì)如下:

public class INPUTBOX : Label//參數(shù)輸入控件定義

{

public INPUTBOX(Form fm) //參數(shù)初始化

private int iCount;//標(biāo)識(shí)控件被輸入次數(shù)

private bool bFocus;//標(biāo)識(shí)控件是否是焦點(diǎn)

public void SetFocus()//設(shè)置控件為焦點(diǎn)

public void OutFocus()//使控件退出焦點(diǎn)

public void input(string key)//控件參數(shù)輸入函數(shù)

}

(2)組合框控件

組合框控件(CMBOX)是用于對(duì)參數(shù)進(jìn)行選擇的控件,它可以在“上鍵”和“下鍵”的控制下,顯示預(yù)先設(shè)置的參數(shù),供用戶進(jìn)行選擇。它以Windows標(biāo)準(zhǔn)控件Label控件為基類進(jìn)行設(shè)計(jì)。類屬性除了包含Label控件的所有屬性之外,還包括控件參數(shù)選項(xiàng)總個(gè)數(shù)(nCount)、當(dāng)前參數(shù)值索引(index)、參數(shù)存儲(chǔ)寄存器(par)、參數(shù)值序列(parstr)、控件成為焦點(diǎn)標(biāo)志(bFocus)和控件是否可用標(biāo)志(bDisabled),類成員函數(shù)除了包含Label控件的的所有成員函數(shù)之外,還包括獲取參數(shù)選項(xiàng)總個(gè)數(shù)函數(shù)(getnum(string str))、填充參數(shù)存儲(chǔ)寄存器函數(shù)(FillPar(string str))、使控件成為焦點(diǎn)函數(shù)(SetFocus())、使控件退出焦點(diǎn)函數(shù)(OutFocus())、使控件不可用函數(shù)(Disable())、按鍵輸入函數(shù)(input(string str))、顯示指定參數(shù)值函數(shù)(Show(string str))和顯示指定位置參數(shù)函數(shù)(Show(int j))。CMBOX控件主要代碼設(shè)計(jì)如下:

public class CMBOX : Label//組合框控件

{

public CMBOX(Form fm) //參數(shù)初始化

public int nCount;//參數(shù)值選項(xiàng)總個(gè)數(shù)

public int index;//當(dāng)前參數(shù)值索引

public string[] par;//參數(shù)存儲(chǔ)寄存器

private string parstr;//參數(shù)值序列

private bool bFocus;// 控件成為焦點(diǎn)標(biāo)志

private bool bDisabled;//控件是否可用標(biāo)志

private int getnum(string str)// 獲取參數(shù)選項(xiàng)總個(gè)數(shù)函數(shù),根據(jù)指定字符串獲取參數(shù)個(gè)數(shù)

private void FillPar(string str)//填充參數(shù)存儲(chǔ)寄存器函數(shù),將字符串所代表的參數(shù)填寫到數(shù)組par[]中

public string strPar//參數(shù)字符串屬性,不可讀,只可寫

public void SetFocus()//使控件成為焦點(diǎn)函數(shù)

public void OutFocus()//使控件退出焦點(diǎn)

public void Disable()//使控件不可用函數(shù),控件變灰,不可用

public void input(string str)//按鍵輸入函數(shù),對(duì)“上鍵”、“下鍵”、“左鍵”和“右鍵”進(jìn)行響應(yīng)

public void Show(string str)//顯示指定參數(shù)值,顯示指定的參數(shù)值str

public void Show(int j)//顯示指定位置參數(shù)值,顯示指定位置為j的參數(shù)值

}

(3)列表顯示控件

列表顯示框控件(LISTVIEWBOX)是采用列表的方式對(duì)參數(shù)進(jìn)行分行顯示的控件,類屬性主要包括列表顯示子控件(lb)、焦點(diǎn)行控件索引(index)、焦點(diǎn)標(biāo)志(bFocus)、控件列數(shù)(COLLUM)和控件行數(shù)(ROW),類成員函數(shù)主要包括顯示控件函數(shù)(Location())、隱藏控件函數(shù)(hide())、使控件某行成為焦點(diǎn)函數(shù)(SetFocus(int i))、使控件某行退出焦點(diǎn)函數(shù)(OutFocus(int i))、使列表顯示控件成為焦點(diǎn)函數(shù)(SetFocus())、使列表顯示控件退出焦點(diǎn)函數(shù)(OutFocus())、按鍵響應(yīng)函數(shù)(input(string str))、獲取控件參數(shù)值函數(shù)(GetValue())、修改控件參數(shù)值函數(shù)(SetValue(string[] str))、增加控件列表項(xiàng)函數(shù)(Increase(string[] str))、減少控件列表項(xiàng)函數(shù)(Decrease())和前置顯示函數(shù)(BringToFront())。能夠?qū)崿F(xiàn)以列表的方式進(jìn)行顯示參數(shù)、增加參數(shù)、刪除參數(shù)、修改參數(shù)等功能。LISTVIEWBOX控件主要代碼設(shè)計(jì)如下:

public class LISTVIEWBOX//列表顯示控件定義

{

public LISTVIEWBOX(Form fm, string[,] par) //初始化參數(shù)

public Label[] lb;// 列表顯示子控件

public int index;//焦點(diǎn)的控件索引

public bool bFocus;//標(biāo)識(shí)該控件是否為焦點(diǎn)控件

public int COLLUM;//控件列數(shù)

public int ROW;//控件行數(shù)

public void Location(Point pt, int[] width, int height = 14, int distance = 2)//顯示控件函數(shù),pt表示控件左上角的位置,row表示控件有幾行,collum表示控件有幾列,width[]表示每個(gè)控件的寬度,height表示控件之間的上下距離,distance表示控件左右的距離

public void hide()//隱藏控件函數(shù)

public void SetFocus(int i)//使控件第i行成為焦點(diǎn)函數(shù)

public void OutFocus(int i)//使控件第i行退出焦點(diǎn)函數(shù)

public void SetFocus()//使列表顯示控件成為焦點(diǎn)函數(shù)

public void OutFocus()//使列表顯示控件退出焦點(diǎn)函數(shù)

public void input(string str)//按鍵輸入函數(shù),對(duì)“上鍵”和“下鍵”進(jìn)行響應(yīng)

public string[] GetValue()//獲取控件參數(shù)值函數(shù)函數(shù),獲取當(dāng)前成為焦點(diǎn)的控件參數(shù)值

public void SetValue(string[] str)//修改控件參數(shù)值函數(shù),修改當(dāng)前成為焦點(diǎn)的控件參數(shù)值

public void Increase(string[] str)//增加列表項(xiàng)函數(shù),將str增加到當(dāng)前控件參數(shù)表中

public void Decrease()//減少列表項(xiàng)函數(shù),刪除最后一項(xiàng)列表項(xiàng)

public void BringToFront()//前置顯示函數(shù),將控件在界面最頂層顯示

(4)對(duì)話框控件

對(duì)話框控件(MessageTIP)用于彈出提示信息,類屬性主要包括:彈出對(duì)話框的背景(pbox)、對(duì)話框的類型(tpType)、對(duì)話框的標(biāo)題(title)、提示消息的內(nèi)容(tip)、確認(rèn)鍵(OK)、取消鍵(CANCEL)、選項(xiàng)標(biāo)志(bOption)和顯示標(biāo)志(bShow)。類成員函數(shù)主要包括:初始化函數(shù)(MessageTIP(Form fm, int type))、彈出對(duì)話框函數(shù)(ShowIip(string strTitle, string strTip))、隱藏對(duì)話框函數(shù)(hideBox())、置頂顯示函數(shù)(TopShow())和按鍵響應(yīng)函數(shù)(input(string key)),能夠?qū)崿F(xiàn)對(duì)話框的彈出、消息顯示、按鈕選擇等功能。MessageTIP類主要代碼設(shè)計(jì)如下:

public class MessageTIP

{

private PictureBox pbox;//彈出對(duì)話框背景

private int tpType;//對(duì)話框的類型0,標(biāo)識(shí)YN,1標(biāo)識(shí)YY

private Label title;//對(duì)話框標(biāo)題

private Label tip;//提示消息的內(nèi)容

private Label OK;//確認(rèn)按鍵

private Label CANCEL;//取消按鍵

private bool bOption;//選項(xiàng)標(biāo)志,0標(biāo)識(shí)選擇確認(rèn),1標(biāo)識(shí)選擇取消

private bool bShow;//標(biāo)識(shí)控件是否顯示

public MessageTIP(Form fm, int type)//初始化參數(shù)函數(shù),根據(jù)對(duì)話框類型type確定顯示背景及顯示內(nèi)容

public void ShowIip(string strTitle, string strTip) //彈出對(duì)話框函數(shù),顯示對(duì)話框背景、標(biāo)題strTitle及內(nèi)容strTip

public void hideBox()//隱藏對(duì)話框

public void TopShow()//置頂顯示對(duì)話框,將對(duì)話框在界面最前端顯示

public int input(string key)//按鍵響應(yīng)函數(shù),對(duì)“左鍵”、“右鍵”、“確認(rèn)鍵”進(jìn)行響應(yīng)

}

(5)單選按鈕控件

單選按鈕控件(RadioBtnBox)在界面上顯示多個(gè)圓點(diǎn)代表的按鈕,只能選擇一個(gè),選項(xiàng)之間互斥,類屬性主要包括:控件圖標(biāo)(pbox)、控件顯示標(biāo)志(Visible)和控件位置(Loaction)。類成員函數(shù)主要包括:初始化函數(shù)(RadioBtnBox (Form fm, Point pt))、置頂顯示函數(shù)(BringToFront())、使控件成為焦點(diǎn)函數(shù)(SetFocus())和使控件退出焦點(diǎn)函數(shù)(OutFocus())。

public class RadioBtnBox

{

public RadioBtnBox (Form fm, Point pt)//初始化參數(shù)

private PictureBox pbox;//控件圖標(biāo)

public bool Visible//控件顯示標(biāo)志

public Point Loaction//控件位置

public void BringToFront()//置頂顯示函數(shù)

public void SetFocus()//使控件成為焦點(diǎn)函數(shù)

public void OutFocus()//使控件退出焦點(diǎn)函數(shù)

}

主站蜘蛛池模板: 先锋资源久久| 国产真实乱子伦视频播放| 亚洲第一视频免费在线| 最新痴汉在线无码AV| 午夜在线不卡| 99青青青精品视频在线| 亚洲免费人成影院| 免费在线国产一区二区三区精品| 狠狠色狠狠综合久久| 国产高清在线丝袜精品一区| 亚洲精品片911| 毛片最新网址| 九色91在线视频| 91色综合综合热五月激情| 中国毛片网| 国产浮力第一页永久地址| 亚洲 欧美 中文 AⅤ在线视频| 99久久精品免费观看国产| 欧美国产日韩另类| 欧美怡红院视频一区二区三区| 日韩精品亚洲一区中文字幕| 日韩麻豆小视频| 九色最新网址| 欧美成a人片在线观看| 九九九精品成人免费视频7| 国产精品久久久久久久久| 青草91视频免费观看| 中文字幕佐山爱一区二区免费| 中国一级毛片免费观看| 青青热久麻豆精品视频在线观看| 久久精品日日躁夜夜躁欧美| 亚洲美女久久| 无码有码中文字幕| 国产人妖视频一区在线观看| 日本久久网站| 国产亚洲男人的天堂在线观看| 国产91小视频| 亚洲一区二区三区国产精品 | 91视频精品| 看av免费毛片手机播放| 欧美成人看片一区二区三区 | 欧美福利在线| 午夜性刺激在线观看免费| YW尤物AV无码国产在线观看| 日韩av在线直播| 欧美日韩一区二区在线免费观看| 精品久久高清| 亚洲天堂视频在线观看免费| 国产成人a毛片在线| 亚洲AV无码不卡无码| 在线播放91| 4虎影视国产在线观看精品| 亚洲午夜天堂| 中文字幕日韩丝袜一区| 午夜人性色福利无码视频在线观看| 伊人福利视频| 欧美日韩中文字幕在线| 丰满人妻一区二区三区视频| 在线视频精品一区| 国产丝袜91| 国产精品香蕉在线观看不卡| 亚洲天堂自拍| 亚洲人成影视在线观看| 中文无码日韩精品| 日韩精品无码免费一区二区三区| 91精品人妻一区二区| 精品乱码久久久久久久| 欧亚日韩Av| 18黑白丝水手服自慰喷水网站| 性视频一区| 欧美三级视频在线播放| 久久免费视频播放| 最新亚洲人成无码网站欣赏网| 91麻豆精品视频| 国产91小视频在线观看 | 日本欧美成人免费| 亚洲AⅤ无码国产精品| 久久精品女人天堂aaa| 国产无人区一区二区三区| 中文字幕无线码一区| 青青青亚洲精品国产| 亚洲毛片一级带毛片基地|