How to pass a text while firing an event? 
<p>I need to pass a checkeditem of a checklistbox while firing an event from a dynamic checklistbox. The code snippet is provided below with comments...
I'm facing an issue with the same piece of code. On mouse double click event its throwing an exception saying IndexoutofRange. Its working fine with the index value 0.Please help 2 solve me both.</p>

<pre><code>private void clbTables_MouseDoubleClick(object sender, MouseEventArgs e)
{
    int indexofselectedtable;
    indexofselectedtable = Convert.ToInt32(clbTables.SelectedIndex); 
    if (clbTables.CheckedItems.Count != 0)
    {
        Metadata metadataobj = new Metadata(dbProperties);
        DBList = metadataobj.GetColumns(clbTables.CheckedItems[indexofselectedtable].ToString()); // This throws an error on checking an item of index&gt;0.

        for (int j = 0; j &lt; DBList.Count; j++)
        {
            chklistcolumns.Name = "chklist" + j++;
            chklistcolumns.Items.Add(DBList.ElementAt(j));
        }
        this.Controls.Add(chklistcolumns);

        chklistcolumns.ItemCheck += new ItemCheckEventHandler(OnCheckListBoxItemCheck);
    }
}

private void OnCheckListBoxItemCheck(object sender, ItemCheckEventArgs args) //need to pass the tablename which can be got from the object clbTables
{   
    Columns columnobj = new Columns();
    columnobj.ColumnName = this.Text;
    columnobj.Id = this.Name;
    columnobj.TableName= // need to get the tablename from the object clbtables
}
</code></pre>
