chenke
חבר מתאריך 1.7.02
730 הודעות, דרג אמינות חבר זה |
08:46 22.05.06 |

|
בעייה בקבלת כותרת של צומת שנוסף ל- TreeView בזמן ריצה
| |
ערכתי לאחרונה בתאריך 22.05.06 בשעה 08:48 בברכה, chenke בפרוייקט שלי ב- VB.NET קיים TreeView, שקיימים בו צמתים שאלהם יכול המשתמש להוסיף צמתי בנים באמצעות בחירה מ- contex menu. הצומת שנוסף לעץ נוסף עם כותרת ברירת מחדל ובמצב של עריכה, כך שהמשתמש יכול לערוך את הכותרת של הצומת. אחרי שהמשתמש סיים לערוך את הצומת, אני מעוניין שערך הכותרת שלה יופיע תיבת טקסט בטופס ופה הבעייה: הערך שמושם בתיבת הטקסט הוא ערך ברירת המחדל שבו הצומת נוצר ולא הערך אחרי העריכה. להלן דוגמאות קוד למה שאני עושה: הוספת הצומת ל- TreeView, בעקבות ארוע בחירה של פריט מה- ContexMenu, והכנסתו למצב עריכה (currNode הוא משתנה גלובאלי שמייצג את הצומת הנוכחי שנבחר):
Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click Dim node As New System.Windows.Forms.TreeNode If IsNothing(currNode.Parent) = True Then node.Text = "new event" currNode.Nodes.Add(node) node.BeginEdit() currNode = node End If End Sub
|
לאחר שהמשתמש סיים לערוך את הכותרת של הצומת, הערך אמור להיות מושם לתיבת הטקסט:
Private Sub TreeView1_AfterLabelEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.NodeLabelEditEventArgs) Handles TreeView1.AfterLabelEdit eventDesc.Text = e.Label EventID.Enabled = True TreeView1.SelectedNode = currNode End Sub
|
בפועל הערך שמושם לתיבת הטקסט הוא "new event", אפילו שהמשתמש בחר בערך שונה. ניסיתי להשתמש בקוד האחרון ב- e.text, currNode.text, אך התוצאה דומה. למשהוא יש רעיון איך לתקן את זה?תודה מראש, חן.
|
|
שתף
|
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
|
| |
|