编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

求助关于listbox接收与删除的问题

求助关于listbox接收与删除的问题

我做了一个GUI界面,想通过APPEND将左边的内容添加到右边,但是当我选中其中一项时,左边全部添加到了右边,而且 我又应该如何将右边选中项删除而不影响其他项。

TOP

function test_listbox( varargin )

if nargin == 0
    figureHandle = figure('Tag', 'MyFigure');
    uicontrol('Style', 'listbox', 'Tag', 'listbox1', 'Pos', [50 50 100 200], 'String', {'a','b','ccc','ddd','ee'});
    uicontrol('Style', 'listbox', 'Tag', 'listbox2', 'Pos', [300 50 100 200], 'String', {'ab','bc','ddd','sad','wd'});
    uicontrol('Style', 'pushbutton', 'Tag', 'button1', 'Pos',  [190 160 70 25], 'String', 'Append', 'Cal', 'test_listbox(''Append'', gcbo)');
    uicontrol('Style', 'pushbutton', 'Tag', 'button2', 'Pos',  [190 120 70 25], 'String', 'Delete', 'Cal', 'test_listbox(''Delete'', gcbo)');
   
    handles = guihandles(figureHandle);
    guidata(figureHandle,handles);
else
    feval(varargin{:});
end

function Append( h )

handles = guidata( h );

value1 = get(handles.listbox1, 'Value');
string1 = get(handles.listbox1, 'String');

value2 = get(handles.listbox2, 'Value');
string2 = get(handles.listbox2, 'String');

string2{end+1} = string1{value1};

set(handles.listbox2, 'String', string2);

function Delete( h )

handles = guidata( h );

value = get(handles.listbox2, 'Value');
string = get(handles.listbox2, 'String');
string(value) = [];

set(handles.listbox2, 'String', string);
OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在

TOP

非常感谢

TOP

程序里好像有个新问题,当删除右边listbox中最后一项时,listbox会消失

TOP

????

TOP

发新话题