PDA

View Full Version : یک property شبیه به nodes در treeView



MBT1900x
چهارشنبه 01 شهریور 1385, 12:33 عصر
سلام.
من می خواهم در کلاسم یک property شبیه به nodes در treeView داشته باشم.
وقتی که یک ایندکس بهش بدی به یک کلاس در کالکشنش مراجعه کند.
وقتی که بعد از اسمش Dot بزاری به متد هاش دسترسی داشته باشی.
مثل nodes در treeView

چجوری همچین propertyای بنویسم ؟?؟?

M.GhanaatPisheh
چهارشنبه 01 شهریور 1385, 13:36 عصر
دوست عزیز
برای رسیدن به جواب باید توضیح بیشتری بنویسید.

ghafoori
چهارشنبه 01 شهریور 1385, 23:52 عصر
دوست عزیز منظورتون یک همچین کدی است



Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim t As New node
t.add("dfdsf")
Dim n As node
n = t.tree(0)
MsgBox(n.text)
End Sub



End Class

Public Class node

Private ar_node As ArrayList
Private p_node As node
Private p_text As String

Public Sub New()
ar_node = New ArrayList
End Sub
Public Property text() As String
Get
Return p_text
End Get
Set(ByVal value As String)
p_text = value
End Set
End Property
Public Function add(ByVal s As String) As node
Me.text = s
ar_node.Add(Me)
Return Me
End Function

Public Overloads Property tree(ByVal i As Integer) As node
Get
Return ar_node(i)
End Get
Set(ByVal value As node)
ar_node(i) = value
End Set
End Property
Public Overloads Property tree() As node
Get
Return p_node
End Get
Set(ByVal value As node)
p_node = value
End Set
End Property

End Class

MBT1900x
شنبه 04 شهریور 1385, 03:06 صبح
اولا : خیلی ممنون از توجه شما.
بعد از اولا :
چیزی که من می خواهم یه همچین چیزیه اما یه فرقایی داره.
همون طور که می دونید در treeView.Nodes از کروشه : [] برای ایندکس دادن استفاده می کنن منم یه همچین چیزی می خواهم. مثل treeView1,Nodes[1]
و برای دسرسی به متد ها هم از property ی Nodes استفاده می کنن.
مثل treeView1.Nodes.Add("easdfas) که باز هم من یه همچین چیزی می خواهم.

راستی کدی که شما زحمتشو کشیدین با وی بی نوشته شده . شاید من جایی رو نفهمیدم.
اگه می شه اونو به سی شارپ برگردونید چون وی بی بلد نیستم.

ghafoori
شنبه 04 شهریور 1385, 08:13 صبح
ببخشید دوست عزیز.
من چون با وی بی و سی شارپ برنامه می نویسم بعضی مواقع قاطی می کنم :گیج:
این هم کد سی شارپ



using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
node a=new node();
a.add("node1");
node n;
n = a[0];
MessageBox.Show(n.Text);
}
}
public class node
{
private ArrayList ar_node;
private node p_node;
private string p_text;

public node() {
ar_node = new ArrayList();
}

public string Text {
get {return p_text;}
set { p_text = value; }
}

public node add(string s) {
this.Text = s;
ar_node.Add(this);
return this;
}

public node this[int i]{
get
{
return (node)ar_node[i];
}
set
{
ar_node[i] = value;
}
}

public node tree {
get
{
return p_node;
}
set
{
p_node = value;
}
}
}
}