2014-01-10 25 views
2

我有6個需要使用透明度的圖像。他們可以打開和關閉。我需要設置它,以便如果圖片(這是一個父級)被關閉,那麼上面的圖片將被分配給下一個可用的父級。將'parent'屬性賦值給一個正在更改的對象(存儲在控制數組中的名稱)

要做到這一點,我在一個控件數組存儲「下一個可用的父母形象的名字,而「前兒童」形象的家長設置爲這個控件數組

(有兩個控件數組既是家長和孩子可以根據按下哪個按鈕)

這是代碼我試圖線改變爲獲得工作〜:

updatedParentFaction[0].parent = parentFaction[0]; 

如果誰的父母正在改變孩子每次差異不顯着我只會寫

imageB.parent = parentFaction[0]; //for example 

有沒有辦法讓接受存儲在'updatedParentFaction'數組中的什麼作爲我想改變的孩子的名字?

UPDATE

好了,所以我要在這裏提供進一步的信息:

有六種圖片框稱爲「圖像A」,「圖像B」等一路攀升到「圖像F 」。

它們都是相同的大小和位置(一個在另一個之上 - 使用透明度將它們顯示在彼此之上)。

當程序運行時,他們都「隱藏」,並按下相應的按鈕,可以將它們變得可見(如果你按下「顯示imageA」,那麼像A是可見的 - 再次按下按鈕,使隱藏的圖像)

父圖像將始終是打開的第一個按字母順序排列的圖像,之後的每個圖像將成爲該父級的後續子級,但是按順序排列。

示例: 如果圖像A +圖像B +圖像D是可見的並且C,E + F被隱藏。然後,主要父圖像將是A(圖像B將是A的孩子,圖像D將是圖像B的子圖像)

使用此方法第一次運行程序並且圖像在透明區作品。 但是,(使用上面的例子)如果我要隱藏圖像B,那麼圖像D也會隱藏。

我想寫我的代碼,以便當父圖像關閉時,孩子會將其父母更改爲下一個可用父;如果在圖像B被關閉上述例子中,然後圖像d將其父改變到圖像A.

使用的代碼行:

updatedParentFaction[0].parent = parentFaction[0]; 

的「少年」映像的名稱需要它的父改變存儲在'updatedParentFaction [0]'中,並且我需要分配的父派存儲在'parentFaction [0]'

因此使用上面的例子,圖像A,B + D被打開。圖片B =圖片A的孩子,圖片D =圖片B的孩子然後

圖像B被關斷,圖像d現在需要將圖像A的子

我使用一段代碼我只是說明但代碼讀取「設置該陣列parentFaction的父試圖[0]「

我需要的代碼讀取」設置存儲在updatedParentFaction名義控制[0]存儲在parentFaction [0]

希望的名字這會有所幫助,一個孩子,如果沒有生病顯示我的代碼,但我認爲解釋它可能會更容易。

+0

我認爲如果你發佈一個你想做的小代碼示例,它會更清晰。例如... imageB是什麼? –

+0

我現在不明白的是......爲什麼你必須改變父母?它們重疊並且透明... –

+0

如果所有圖像都打開,那麼B是A的孩子,C是B等的孩子,問題是當我將圖像B設置爲隱藏時,那麼僅顯示唯一的圖像是圖片A - (圖片C是B的一個孩子,因此它也是隱藏的,圖片D是C的孩子,因爲C隱藏了D也隱藏了,等等等等) – user3178614

回答

0

給一個PictureBox陣列圖片,你可以使用這些函數來改變可視性。

這其中將設置能見度項與給定的指標及其所有子:

void SetVisible(PictureBox[] pictures, int index, bool visible) { 
    for (int i=index; i < pictures.Length; ++i) 
     pictures[i].Visible = visible; 
} 

同上,但使用索引的對象引用,而不是:

void SetVisible(PictureBox[] pictures, PictureBox item, bool visible) { 
    SetVisible(pictures, Array.IndexOf(item), visible); 
} 

要找到的第一個可見的始祖具有給定索引的項目:

int FindFirstVisibleAncestorIndex(PictureBox[] pictures, int index) { 
    for (int i=index; i >= 0; i--) { 
     if (pictures[i].Visible) 
      return i; 
    } 

    return -1; 
} 

其他重載非常簡單RD。

+0

這種方法似乎比我當前的腳本更高效,需要進一步研究才能成功應用,但我認爲這是一個很好的答案,謝謝! – user3178614

+0

@ user3178614歡迎您,對不起,沒有更多的上下文我無法提供更具體的解決方案! –

+0

再次感謝您的幫助,但我試圖弄清楚現在如何設置存儲在數組中的圖像的父級,是否符合以下幾行:圖片[3] .parent =圖片[2]; – user3178614

相關問題