一个关于自定义控件的问题
- VB code
Public Class listbox Inherits System.Windows.Forms.UserControl Public str_VenuesName As String Public str_VenuesNo As String Public arrListItems As New ArrayList Public str_BookTime() As String Private m_textcolor As Color = System.Drawing.Color.Black '字体颜色 Private Sub listbox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Label1.Text = str_VenuesNo & str_VenuesName Dim b As Integer Dim s As String'需要返回的值 Dim c As String'需要返回的值 For b = arrListItems.Count - 1 To 0 Step -1 s = arrListItems.Item(b).ToString().Remove(arrListItems.Item(b).ToString().Length - 1, 1) c = arrListItems.Item(b).ToString().Substring(arrListItems.Item(b).ToString().Length - 1, 1) MessageBox.Show(s & c) Me.List.Items.Add(s) Next End Sub Public Sub List_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles List.Click MessageBox.Show(Me.List.Items(Me.List.SelectedIndex)) End SubEnd Class
我自定义了一个控件 包含1个listbox和一个label,向里面传了一个arraylist来写listbox的item,点击后需要返回2个字符串 “S”和“C” 以供我来操作
因为控件是随机自动生成的,所以没法把代码写死,我没想到好的处理方式,请大家帮帮忙,想个办法,只要能把C和S这两个字符串返回到主程序就行了,否则我只有把处理过程写在控件里了
[解决办法]
拟向外公布两个public属性就行了,getter时,取s或c的值
[解决办法]
public string S
{
get{return ...;}
}
public string C
{
get{return ...;}
}
[解决办法]
Public WithEvents list As System.Windows.Forms.ListBox
然后在主程序直接引用