亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

從一個實際需求看C#的跨窗體操作

admin
2023年9月4日 9:46 本文熱度 1686

很多人學(xué)習(xí)C#會遇到一個這樣的問題,很多知識點不知道在什么情況下使用,或者面對一些需求時,不知道用哪種方法來解決。在本文中,我們將結(jié)合一個實際需求來談?wù)勅绾芜x擇合適的方法來更合理的實現(xiàn)需求。

在我們的批次報表中,有個功能就是我們可以根據(jù)用戶選擇的變量生成曲線并插入報表中。在報表界面上有一個按鈕,點擊可以彈出曲線窗體。在這個曲線窗體中我們可以選擇需要的變量并生成曲線。

圖1 選擇并生成曲線

當(dāng)選擇變量后,點擊按鈕“添加”即生成曲線。預(yù)覽沒問題后再點擊按鈕“插入到報表”即可將生成的曲線插入到報表中。下圖展示了曲線插入到報表中的效果。

圖2 曲線插入報表

這種需求如何實現(xiàn)呢?我們可以在曲線窗口關(guān)閉時根據(jù)返回值判斷是否需要插入曲線。如果點擊了按鈕“插入到報表”就返回YES,代碼如下。

private void btninsert_Click(object sender, EventArgs e)
{
     this.Close();
     //曲線窗體返回YES
     this.DialogResult = DialogResult.Yes;
}

如果沒有點擊按鈕“插入到報表”而是直接關(guān)閉曲線窗體,則返回NO,代碼如下:

private void FrmChart_FormClosing(object sender, FormClosingEventArgs e)
{
    this.Close();
    //曲線窗體返回NO
    this.DialogResult = DialogResult.No;
}

我們可以在上一層窗口中根據(jù)曲線窗口的返回值判斷是否插入圖片。

private void btnChart_Click(object sender, EventArgs e)
{
    FrmChart frm = new FrmChart();
     //如果返回值是YES,則插入曲線
    if (frm.DialogResult==DialogResult.Yes)
    {
         ///插入曲線
         ///
     }
}

這種方法可以實現(xiàn)我們的需求。但是它有個缺點就是必須要在窗體關(guān)閉后才插入曲線。如果我們還要再添加或者刪除曲線,只能再次打開曲線窗口,選擇、添加變量生成曲線。在使用上稍微有點麻煩。那如何做到曲線窗體不關(guān)閉就可以在報表中同步插入曲線呢?這時委托就派上用場了。

  //聲明一個委托  public delegate void _GetChart();
 //聲明一個方法  public _GetChart GetChart;

我們在曲線窗體中聲明一個委托類型_GetChart,并聲明一個類型為_GetChart的方法。然后在上一層窗口中創(chuàng)建一個名為GetChart的方法。

private void getChart()
{
    try
    {
        ///插入曲線
     }
    catch (Exception ex)
    {
       MessageBox.Show(ex.Message);
   }
}

在調(diào)用曲線窗口時將該方法綁定到曲線窗口的GetChart方法上。

private void btnChart_Click(object sender, EventArgs e)
{
     FrmChart frm = new FrmChart();
     frm.GetChart += getChart;
     frm.ShowDialog();
}

最后在曲線窗體中點擊按鈕“插入到報表”事件中調(diào)用該委托方法即可。

private void btninsert_Click(object sender, EventArgs e)
{
     //其它代碼
     if (GetChart != null)
     {
          GetChart();
     }
}

運行程序。當(dāng)我們在曲線窗口中點擊按鈕“插入到報表”時,上一層窗口中會同步展示新的曲線。如果需要更新曲線,也不用關(guān)閉窗口再重新打開,操作更加人性化。

圖3 上一層窗體和曲線窗體同步更新


該文章在 2023/9/4 9:46:25 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved