2013-11-15 43 views
1
%% LIST 
physlist = {'Acceleration','Fluid Mechanics','Force','Energy','Velocity','Work'}; 
%% LISTDLG 
[sel, ok] = listdlg('PromptString','Please select a Subtopic below:', 'ListString', physlist, 'selectionmode', 'single'); 

如果用戶選擇'Acceleration',這是第一選擇,我如果ok == 1簡單地使用和運行代碼,但如果用戶選擇另一個選項呢?我將如何在同一個腳本中引用該選項?我不能再使用ok == 1我可以嗎?因爲我已經用它來加速。我如何引用向用戶提供不同的選擇,如果我使用listdlg所提供的選項

如果用戶做出選擇,有沒有辦法可以引用每個選項並分別處理它們的代碼?

回答

1

listdlg(變量sel)的第一個輸出自變量包含所選項目的索引。例如,如果您選擇'Energy',您會得到sel==4

第二個輸出參數(ok)是一個布爾值,指示您是按「OK」還是「cancel」。

檢查ok後,我會建議switch。例如:

[sel, ok] = listdlg(...); 

if ok, 
    switch lower(physlist{sel}) 
     case 'acceleration' 
     % something for acceleration 
     case 'fluid mechanics' 
     % more code 
     % ... 
     otherwise 
     error('Invalid selection!') 
    end 
end 
相關問題