2017-09-26 39 views
0

我正在做一個項目,我通過UDP連接兩個不同的設備,我需要從頭開始創建一個按鈕陣列來表示位,所以如果收到一個例如數字0x8A(1000 1010b)我的數組8個按鈕將根據數字顯示1和0。有沒有什麼辦法從頭開始在Visual Studio 2017 C++/CLI中創建按鈕數組?

我一直在閱讀,但大多數關於C++和GUI的教程都使用了元素的拖放操作,但我需要一組按鈕來輕鬆訪問每個按鈕。

我正在使用Visual Studio 2017,C++/CLI項目。

謝謝你的時間。

+0

C++/CLI是Microsoft的一種語言,旨在允許C#或其他.Net語言與非託管C++接口。在這種情況下,C++/CLI可以提供兩者之間的轉換。如果你仍然在學習C++,請不要從C++/CLI開始。爲了有效地在C++/CLI中編寫代碼,應該已經知道C++和C#,然後仍然需要了解C++/CLI。如果您想學習C++ GUI,請使用非託管C++和MFC。 (在Visual Studio中,創建一個「Win32」C++項目。)如果您想學習受管GUI,那麼我將使用C#與WinForms或WPF。 –

+0

這是不是很明顯,你試圖從頭開始癢。考慮一個'List ^'變量。 –

+0

謝謝你們,我會用Win 32項目代替。 – christianMontero

回答

0

我假設「從頭開始」的意思是「在運行時動態」。

根據您接收數字0x8A的示例,聽起來您只需要8個按鈕。如果是這樣,那麼我會在設計時創建按鈕,而不是在運行時。在運行時創建最合適,如果事先不知道將會有多少,但如果您知道它將恰好爲8,那麼在設計時創建是最合適的。

如果我的推論不正確,並且直到運行時才知道有多少個按鈕,那麼我們需要知道您正在使用哪個GUI工具包來給出具體答案。除此之外,我們所能做的只是給出一個大綱。

// Keep this around somewhere so you can access the buttons later. 
List<ButtonOfSomeSort^>^ buttons = gcnew List<ButtonOfSomeSort^>(); 

for (int i = 0; i < numButtonsToCreate; i++) 
{ 
    ButtonOfSomeSort button = gcnew ButtonOfSomeSort(); 
    // set some properties on the button, such as text, size & position, and click handler. 
    someContainerControlInYourGUI.Add(button); 
    buttons.Add(button); 
} 
+0

非常感謝,實際上我需要54個按鈕來表示54位。 我正在使用Visual Studio,一個C++/CLI項目,但我沒有找到一個教程,其代碼從頭開始創建按鈕,他們總是使用拖放工具,我會嘗試使用您的代碼,也許我會需要改變項目類型,但非常感謝。 – christianMontero

相關問題