Jim2Yoo

导航

关于自动重命名的实现

string strLabel = "";
            
string strBaseName = this.listView1.Items[listBox1.SelectedIndex].Text;
            
if (fcx.Boxes.Count == 0)
            
{
                strLabel 
= strBaseName + "1";
            }

            
else
            
{
                
for (int i = 1; i <= fcx.Boxes.Count+1; i++)
                
{
                    strLabel 
= strBaseName  + i.ToString();
                    
bool isExist = false;
                    
foreach (Box oBox in fcx.Boxes)
                    
{
                        
if (oBox.Text == strLabel)
                        
{
                            isExist 
= true;
                        }

                    }

                    
if (isExist)
                    
{
                        
continue;
                    }

                    
else
                    
{
                        
break;
                    }

                }

            }
当我们实现类似工作流之类的界面时,需要把节点图标拖到流程图上以放置一个节点,在拖入过程中,我们需要对节点重命名,比如node1,node2....这就需要查找现有节点有没有跟要命名的名称重复的,上面的代码展示了如何搜寻序号最小的且不重复的节点名来命名。因为有时候可能因为节点的添加删除,中间有很多空号没有利用,这就要去查找最小的,没有被利用的号来给新节点命名。

posted on 2006-06-16 17:15  Jimmy.Yu  阅读(256)  评论(0编辑  收藏  举报