ABA


"העתקת ערך מקופסת-טקסט מפורם1 למשנהו, שפת C#."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10060 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10060
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   18:05   08.09.10   
אל הפורום  
  העתקת ערך מקופסת-טקסט מפורם1 למשנהו, שפת C#.  
 
   ערכתי לאחרונה בתאריך 08.09.10 בשעה 18:12 בברכה, dvir8
 
אהלן חברים כפי שאתם רואים בזמן האחרון אני שואל הרבה שאלות, מפני שאני בונה בשבילי תוכנית שתהיה לי ממש לעזר בעבודה ואני מודה לכולם על ההסברים.
מדובר בשפת C#
מה שקורה פה בעצם,
יש לי את החלון הראשי של התוכנה, וכאשר אני לוחץ על כפתור בשם Settings, נפתח לי Form חדש שנראה כך:

מה שאני רוצה בעצם,
אני מכניס הגדרות כגון שרת Smtp, username וכו', לוחץ על הכפתור Save,
ובעצם הערכים של הקופסאות יועברו בלחיצה על Save תוך כדי סגירה של ה Form,
אל ה Form הראשון שמכיל קופסאות גם כן.

איך אני עושה זאת? את המעבר בין פורמים שונים?




                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  כל Form הוא instance אצלך, נכון? ldan192  08.09.10 18:25 1
  תיצור בטופס השני בנאי שמקבל כפרמטרים את Nesher  09.09.10 15:40 2
     אמת, או שעוד אופציה זה עם הפרטים חשובים להמשך אז... sharkk 10.09.10 10:22 3
         לדעתי לפי הרעיון שלך דווקא משתנים סטטים Nesher  10.09.10 14:37 4
  הייתי פשוט מאוד VeNom  10.09.10 18:12 5
  אגב, מה אתה בונה? FireAngel 10.09.10 22:47 6
     תוכנה לצורך עבודה, dvir8 11.09.10 20:28 8
  תודה לכולם כשאני הופך את המחלקה לסטטית הוא נותן שגיאה, dvir8 11.09.10 20:26 7
     אתה צריך לעשות ככה Nesher  11.09.10 21:18 9
         הבנתי תודה, אני אבדוק את העניין ואעדכן! dvir8 11.09.10 22:28 10

       
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   18:25   08.09.10   
אל הפורום  
  1. כל Form הוא instance אצלך, נכון?  
בתגובה להודעה מספר 0
 
אז תדאג להעביר את האובייקט לפורם השני (או להיפך) ושאחד יעדכן את השני.


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   15:40   09.09.10   
אל הפורום  
  2. תיצור בטופס השני בנאי שמקבל כפרמטרים את  
בתגובה להודעה מספר 0
 
הערכים שאתה רוצה ופשוט תכניס אותם לתיבות טקסט


public SecondForm(string username, string Smpt)
{
InitializeComponents();

m_txtUser.Text = username;
m_txtSmpt.Text = Smpt;
..
}

בטופס הראשון זה יהיה ככה
private void m_btnSave_OnClick(object sender, EventArgs e)
{
SecondForm form = new SecondForm(m_txtUser.Text, m_txtSmpt.Text);
form.ShowDiaglog();
this.Close();

}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sharkk
חבר מתאריך 2.9.02
1306 הודעות
   10:22   10.09.10   
אל הפורום  
  3. אמת, או שעוד אופציה זה עם הפרטים חשובים להמשך אז...  
בתגובה להודעה מספר 2
 
   להשתמש באובייקט סינגלטון שיחזיק לך את הדברים החשובים, ואז תוכל להשתמש בו מכל מקום בתוכנית. זה כמו משתנה סטטי לאורך כל התוכנית...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   14:37   10.09.10   
אל הפורום  
  4. לדעתי לפי הרעיון שלך דווקא משתנים סטטים  
בתגובה להודעה מספר 3
 
בתוך מחלקה סטטית של התוכנית יותר עדיפה, ככה גם לא צריך באמת "לייצר" את המחלקה מחדשה פשוט ניגשים ישר לנתון שרוצים
אבל הכל עניין של הרגל


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   18:12   10.09.10   
אל הפורום  
  5. הייתי פשוט מאוד  
בתגובה להודעה מספר 0
 
   בונה 2 מחלקות של form..
האחד שיהיה הform הראשי הלא הוא form 1.
והשני יהיה ה settings form כלומר form 2.
במחלקת ה form 1
שם כדאטאממבר(משתנה מחלקה) את form1 ומאתחל אותו ב ctor.
כאשר לוחצים ב form1 על settings... פשוט עושה למשתנה מחלקה showdialog..
ויש מלא דרכים איך לעדכן את ההform1 מנתונים כאשר לחצת על save..
הרי save הוא כפתור ב form 2 ולכן הייתי חושף property של אותו כפתור..שיהיה פאבליק..
ופשוט מאוד עושה:

form2.Save.Click += new EventHandler(func);

וכותב את פונקציית ה
func
ואז בכל פעם שתלחץ על save פונקציית ה func תופעל.
ובפונקציה עצמה זה העתקה של נתונים..אתה יכול לעשות את זה במלא דרכים..או לשמור ב form2 משתני מחלקה
מסוג string
של smtp
username....וכו' ולחשוך property שלהם..ומכאן זה כבר קל:

textboxUserName.Text = form2.UserName;
textboxPass.Text = form2.Pass;
form2.InitTextBoxes(); // put string.empty in each textbox


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
FireAngel

   22:47   10.09.10   
אל הפורום  
  6. אגב, מה אתה בונה?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   20:28   11.09.10   
אל הפורום  
  8. תוכנה לצורך עבודה,  
בתגובה להודעה מספר 6
 
   ששולחת לינקים תוך כדי הכנסה של פרטי לקוחות ומייצרת בשבילו טפסים יחודיים, ובנוסף מאחדת את כל התוכנות שאנחנו משתמשים בהם במסך אחד, דבר מאוד יעיל שהמתכנתים אצלנו מתעצלים לעשות או שאין להם זמן, החלטתי לנצל את העובדה ללמידה של שפת תכנות חדשה :]


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   20:26   11.09.10   
אל הפורום  
  7. תודה לכולם כשאני הופך את המחלקה לסטטית הוא נותן שגיאה,  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 11.09.10 בשעה 20:38 בברכה, dvir8
 
Error 1 'LinkSender.Form2.components': cannot declare instance members in a static class

ובלחיצה על השגיאה אני מקבל,


partial class Form2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;

הוא מתייחס לשורה האחרונה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   21:18   11.09.10   
אל הפורום  
  9. אתה צריך לעשות ככה  
בתגובה להודעה מספר 7
 
private static System.ComponentModel.IContainer components = null;
אבל זה לא מה שהתכוונו... אבל גם אופציה..

מה שאני חשבתי שתעשה מחלקה נפרדת מהטפסים שתכיל את הנתונים שאתה רוצה


public static class MyData
{
private static string m_name = string.Empty;

public static string Name
{
set
{
m_name = value;
}
get
{
return m_name;
}
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   22:28   11.09.10   
אל הפורום  
  10. הבנתי תודה, אני אבדוק את העניין ואעדכן!  
בתגובה להודעה מספר 9
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net