דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
A

avr416

@avr416
אודות
פוסטים
1.0k
נושאים
203
שיתופים
0
קבוצות
0
עוקבים
2
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • בעיה בהצגת הID במתודת ToString
    A avr416

    בחלון תצוגת התורמים השתמשתי בליסטבוקס כדי להציג את רשימת התורמים שהוזנה לתוכנית.
    כדי להציג אותם מימשתי את מתודת ToString
    הבעיה שלי היא שהמשתנה ID הוא סטטי (כדי שלכל תורם יהיה מס' סידורי אחר) ולכן כשהליסט מציג לי את הרשימה במקום להציג לי את הערך ID האמיתי של העצם, הוא מציג לי את הערך הנוכחי של המשתנה הסטטי (לדוגמ' 5). ניסיתי לשנות זאת ולהשתמש בthis.Id אך ללא הועיל.
    זאת המתודה:

    public override string ToString()
            {
                string name = string.Format("ID: {0}, Name: {1} {2}, Tel: {3}, Adress: {4}, Email: {5}", this.Id, FirstName, LastName, Tel, Adress, Email);
                return name;
            }
    

    תודה רבה מראש!!

    פורסם במקור בפורום CODE613 ב06/07/2015 11:38 (+03:00)

    ארכיון code613m

  • חלון כפול בOpenFileDialog
    A avr416

    בתכנה שאני כותב נתתי אפשרות למשתמש לבחור היכן לשמור את הנתונים ע"י SaveFileDIalog וכן לפתוח אותם ע"י OpenFileDialog
    הבעיה היא שכאשר לוחצים על הלחצן המחשב פותח את החלון של השמירה/פתיחה ולאחר שלוחצים על אישור הוא סוגר אותו ופותח שוב כאשר בפעם הזאת הוא מציג את הנתיב המלא של הקובץ, ורק כאשר מאשרים שוב - הוא מניח לי לנפשי.
    מדוע זה קורה וכיצד אפשר לבטל זאת - זה פשוט מעיק!!
    בפעם הראשונה:

    openfiledialog.png
    בפעם השניה:

    openfiledialog1.png
    אולי זה קשור לקוד שכתבתי, אז הנה הוא:

    private void Open_Click(object sender,RoutedEventArgs e)
            {
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.ShowDialog();
                if (ofd.ShowDialog().Value==true)
                {
                    string fileName = ofd.FileName;
                    donors = Donor.OpenDonor(fileName);
                }
                }
            }
    

    תודה רבה רבה מראש!!
    מה הייתי עושה בלעדיכם חברי הפורום היקרים?!

    פורסם במקור בפורום CODE613 ב05/07/2015 19:34 (+03:00)

    ארכיון code613m

  • serialization: קובץ XML עם ג'יבריש
    A avr416

    לא. השגיאה קרתה כשלא היה ערך במשתנה הזה. כיון שמדובר בתרומות חד פעמיות, אז בטופס אין אפשרות במצב כזה להזין ערך לתאריך החיוב.
    הוקד הקודם היה:

    public int DatePay//תאריך תשלום בחודש (בתרומה קבועה בלבד)
            {
                get { return datePay; }
                set
                {
                    if (value > 0 && value < 31)
                        this.datePay = value;
                    else
                        throw new ArgumentOutOfRangeException("This value is not legal! select value from 1 to 31!");
                }
            }
    

    מתוך הנחה ש0 אינו יום חיוב.
    בבינארי זה פעל יופי. אולם בXML כנראה כיון שאין ערך אז הוא מציב את הערך 0 ואז הוא קיבל שגיאה שזה ערך לא חוקי. אולם כששיניתי ואפשרתי גם את 0 עצמו, אז זה היה טוב.
    לא יודע למה יש הבדל אבל עיין כאן שהוא כותב שבסריליזציה לXML צריך בנאי ריק, אולם בבינארי אין צורך. אז כנראה שזה בגלל זה (עדיין לא הבנתי למה, ואם אתה מבין אשמח אם תסביר).

    פורסם במקור בפורום CODE613 ב06/07/2015 14:27 (+03:00)

    ארכיון code613m

  • serialization: קובץ XML עם ג'יבריש
    A avr416

    לאחר בדיקה יותר לעומק..
    את הג'יבריש הוא הציג לי כשפתחתי אותו בכתבן, כשפתחתי בוורד הוא הציג בעברית הפוכה, וכשפתחתי אותו בפנקס הרשימות אז הוא הציג את העברית מעולה!! מסקנה: עדיף להשתמש בפנקס (עם דף ועט..) :lol:
    כמו כן, עכשיו בdebugging של התכנית הוא כותב לי שגיאה אחרת, שהערך אינו חוקי.
    כלומר, אחד המשתנים הוא באיזה תאריך יחול החיוב של התורם, אולם יש בו ערך רק כאשר מדובר בתרומה קבועה ולא בתרומה חד"פ.
    לכן, כאשר הוא עושה דסריליזציה ואין ערך במשתנה הנ"ל בקובץ, והוא מנסה להציב את הנתונים באובייקט החדש שהוא בונה, הוא מקבל שגיאה שאני עצמי זרקתי (שכאשר הערך גדול מ31 הוא לא בטווח.. ובעברית: ArgumentOutOfRangeException).
    אציין רק שכשאר עשיתי סריליזציה בינרית לא היו לי שום בעיות עם זה.. (כנראה שבכל זאת בXML לא הכל וורוד..)
    מה שעשיתי זה שיניתי את האימות של הset ל:
    if(value>=0 &&value<=31) והכל בא על מקומו בשלום.
    רק מעניין מדוע יש הבדל בין התוכנות השונות, ובין הסריליזציה הבינארית לXML.

    פורסם במקור בפורום CODE613 ב06/07/2015 13:49 (+03:00)

    ארכיון code613m

  • serialization: קובץ XML עם ג'יבריש
    A avr416

    זה הקוד:

    public static void SaveDonorsOfXml(string fileName, List<Donor> donor)//serialization of XML
            {
                var myObject = donor;
                using (FileStream outStream = new FileStream(fileName, FileMode.Create))
                {
                    XmlSerializer xmlser = new XmlSerializer(typeof(List<Donor>));
                    xmlser.Serialize(outStream, myObject);
                }
            }
    

    וזה הפלט שנוצר:

    <?xml version="1.0"?>
    <ArrayOfDonor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <Donor>
        <Id>0</Id>
        <FirstName>׳׳‘׳¨׳”׳</FirstName>
        <LastName>׳׳—׳™׳˜׳•׳‘</LastName>
        <Tel>6847777</Tel>
        <Email></Email>
        <howDonat>creditcard</howDonat>
        <freq>disposable</freq>
        <Adress>׳₪׳¡׳’׳•׳×</Adress>
        <sumDonation>10</sumDonation>
        <startDonor>2015-07-05T10:06:01.4448172+03:00</startDonor>
        <DatePay>0</DatePay>
      </Donor>
      <Donor>
        <Id>1</Id>
        <FirstName>׳×׳—׳™׳”</FirstName>
        <LastName>׳׳—׳™׳˜׳•׳‘</LastName>
        <Tel>5930060</Tel>
        <Email></Email>
        <howDonat>creditcard</howDonat>
        <freq>disposable</freq>
        <Adress>׳₪׳¡׳’׳•׳×</Adress>
        <sumDonation>10</sumDonation>
        <startDonor>2015-07-05T10:06:25.6046538+03:00</startDonor>
        <DatePay>0</DatePay>
      </Donor>
      <Donor>
        <Id>2</Id>
        <FirstName>׳§׳•׳‘׳™</FirstName>
        <LastName>׳₪׳™׳’'׳•</LastName>
        <Tel />
        <Email>kmp@gmail.com</Email>
        <howDonat>creditcard</howDonat>
        <freq>disposable</freq>
        <Adress>׳₪׳¡׳’׳•׳×</Adress>
        <sumDonation>10</sumDonation>
        <startDonor>2015-07-05T10:07:09.146535+03:00</startDonor>
        <DatePay>0</DatePay>
      </Donor>
      <Donor>
        <Id>3</Id>
        <FirstName>׳׳™׳¦׳™׳§</FirstName>
        <LastName>׳₪׳ ׳™׳¨׳™</LastName>
        <Tel />
        <Email>itsikpa@gmail.com</Email>
        <howDonat>creditcard</howDonat>
        <freq>monthly</freq>
        <Adress />
        <sumDonation>5</sumDonation>
        <startDonor>2015-07-05T10:13:05.9602828+03:00</startDonor>
        <DatePay>5</DatePay>
      </Donor>
    </ArrayOfDonor>
    

    עכשיו פתחתי את הקובץ בוורד והוא מציג לי את המילים בעברית בצורה הפוכה..

    פורסם במקור בפורום CODE613 ב06/07/2015 11:03 (+03:00)

    ארכיון code613m

  • serialization: קובץ XML עם ג'יבריש
    A avr416

    שיניתי את הserialization של התוכנה שלי ליצירת קובץ XML, אבל כשאני פותח אותו בכתבן אז אני מקבל קובץ XML מעולה, הבעיה שאת הנתונים בעברית הוא מציג לי בג'יבריש. איך אפשר לתקן זאת? בהגדרות של הסריליזציה, או שזו בכלל בעיה בכתבן??
    (נראה לי שזו בעיה בסריליזציה כי כשאני מנסה לפתוח בתוכנה את הקובץ שנוצר - ע"י מתודה של דסריליזציה - הוא קורס וכותב לי שהקובץ פגום..)
    תודה לכולכם על כל העזרה!!

    פורסם במקור בפורום CODE613 ב05/07/2015 19:24 (+03:00)

    ארכיון code613m

  • serialization: בינארי או XML?
    A avr416

    כתבתי מתודה שעושה serialization לנתוני התכנית שלי באופן בינארי, ראיתי שיש גם אפשרות לשמירה בצורה של קובץ XML.
    הבנתי שקובץ XML קריא יותר לבני אדם מאשר קובץ בינארי.
    האם בעקבות זאת מומלץ לשמור בפורמט של XML או שכאשר מדובר בתכנה שיושבת על המחשב ואף אחד אחר לא אמור לפתוח את נתוני הקובץ אז עדיף בצורה בינארית? או שאין עדיפות לכאן ולכאן?
    אשמח לשמוע עצות והמלצות.

    פורסם במקור בפורום CODE613 ב05/07/2015 01:20 (+03:00)

    ארכיון code613m

  • הודעת שגיאה כשאני מנסה לקמפל את הפרוייקט
    A avr416

    בסייעתא דשמיא ובהשתדלותנו הכל הסתדר!!
    כיביתי את המחשב והדלקתי מחדש, והכל בא על מקומו בשלום!
    כנראה, בגלל שהתוכנה קרסה באמצע, ולא לחצתי על "סגור תכנית" התכנית המשיכה לפעול מאחורי הקלעים, וכך כשניסיתי אח"כ לקרוא לה היא הייתה תפוסה.
    תודה רבה לכל המנסים והמשתדלים לעזור- תבורכו מן השמים!

    פורסם במקור בפורום CODE613 ב02/07/2015 10:46 (+03:00)

    ארכיון code613m

  • הודעת שגיאה כשאני מנסה לקמפל את הפרוייקט
    A avr416

    דרך הstart without debuging וגם דרך הstart debug של vs ובשניהם זה לא עובד.
    לנסות לפתוח אותה עצמאית? איך עושים זאת?

    לגבי הshowdialog זה קורה גם כשאני קורא לא קורא לclose אלא הלחצן שלי מציב את הערך: dialogresult = true. כנראה שזה מביא לאותו מצב.

    פורסם במקור בפורום CODE613 ב02/07/2015 10:27 (+03:00)

    ארכיון code613m

  • הודעת שגיאה כשאני מנסה לקמפל את הפרוייקט
    A avr416

    @avr416

    כמו כן, כאשר אני נכנס לחלון של הוספת תורם הכל עובד טוב, אבל כשאני סוגר אותו ומנסה להכנס אליו שוב - התוכנה נתקעת..
    אם מישהו מבין מדוע - אשמח אם יודיעני.

    לגבי הקריסה הבנתי שהבעיה היא שיצרתי מופע של החלון במחלקה, ואילו בלחיצה על הכפתור רק קראתי למתודה showDialog שלו.
    לכן, בפעם הראשונה זה עבד טוב, אך לאחר שסגרתי אותו, ולחצתי על הכפתור שוב, א"כ קראתי למתודה של המופע הקודם וזה גרם לקריסה.
    אין לי מושג מה הבעיה לקרוא לאותו מופע פעמיים..
    אבל ברגע שהגדרתי את המופע של החלון בתוך הגדרת הכפתור, כך שכל לחיצה על הכפתור יוצרת מופע חדש של מחלקת החלון וקוראת לshowDialog שלו זה עבד יופי!
    בהגדרה הקודמת זה היה נראה כך:

    AddDonor ad = new AddDonor();
       private void AddClick(object sender, RoutedEventArgs e)
            {
                ad.ShowDialog();
            }
    

    ואילו עכשיו:

    private void AddClick(object sender, RoutedEventArgs e)
            {
                AddDonor ad = new AddDonor();
                ad.ShowDialog();
            }
    

    את הבעיה הראשונה לא הצלחתי לפתור.
    פתחתי פרוייקט חדש, והעתקתי את כל ההגדרות של החלונות מחדש (ויצרתי refrence לdll של הperson, כלומר המחלקות עם הקוד הטהור).
    בהתחלה זה רץ טוב, ופתאום הוא שוב פעם כותב לי את אותה הודעת שגיאה שהבאתי למעלה 😢
    עכשיו כבר ממש אין לי מושג מה הוא רוצה ממני 😢 😢
    אודה מאד מאד למי שיוכל לעזור לי!!
    תודה רבה רבה :shock:

    פורסם במקור בפורום CODE613 ב02/07/2015 01:01 (+03:00)

    ארכיון code613m

  • הודעת שגיאה כשאני מנסה לקמפל את הפרוייקט
    A avr416

    כשאני מנסה להריץ את הפרוייקט שאני כותב
    הוא כותב לי את הודעת השגיאה הזו:

    erorList.png
    אם אני מבין מה שהוא אומר זה שהוא לא מצליח לגשת לקובץ כיון שהוא בשימוש ע"י תהליך אחר.
    מי יודע מדוע ולמה?
    אני מצרף כאן את קובצי המקור כדי שתוכלו לבדוק מה הבעיה:
    Person.rar
    כמו כן, כאשר אני נכנס לחלון של הוספת תורם הכל עובד טוב, אבל כשאני סוגר אותו ומנסה להכנס אליו שוב - התוכנה נתקעת..
    אם מישהו מבין מדוע - אשמח אם יודיעני.

    תודה רבה מראש!!

    פורסם במקור בפורום CODE613 ב01/07/2015 14:37 (+03:00)

    ארכיון code613m

  • לא מצליח לעשות DataContext ועוד כמה שאלות בWPF
    A avr416

    @דוד ל.ט.

    אברהם בלתי אפשרי לענות ככה על מבול שאלות. אני מבקש: כל שאלה אשכול. מצידי פתח מאה ביום - רק שאלות שמממש תלויות זו בזו באותו הודעה.

    מקבל את ההערה!
    @דוד ל.ט.

    א. הצבה בDataContext נותנת שגיאה:
    תראה את הקוד שעשית, מן הסתם שכחת new.
    ב. אין ברשימה אוטומטית DataCintext כי אם DataContextProperty.
    אתה כנראה כותב שם חלון ולא מופע. אם תכתוב this. או ללא שם בכלל אז תראה DataContext ברשימה.

    הקוד שעשיתי הוא:

    public MainWindow()
            {
                InitializeComponent();
                Class2 cl = new Class2();
                Grid.DataContext = cl;
            }
    

    על זה הוא נתן לי את השגיאה הנ"ל. אבל הבנתי שהטעות שלי היא בגלל שלא נתתי שם לgrid, אחרי שנתתי לו שם וכתבתי:

    grid1.DataContext = cl;
    

    הכל בא על מקומו בשלום! (זה מה שהתכוונת כנראה שלא כתבתי שם של מופע? כי ניסיתי עם this וזה לא עזר.)

    פורסם במקור בפורום CODE613 ב01/07/2015 13:45 (+03:00)

    ארכיון code613m

  • לא מצליח לעשות DataContext ועוד כמה שאלות בWPF
    A avr416

    @ClickOne

    אברהם, אני רוצה לחלק רגע בין מצב לימוד שלך למצב סופי.
    אם הנושא הוא ללמוד איך להעביר ליסט מחלון לחלון וכו' אז אתה יכול להתעלם מהמשך הדברים.

    אם אתה מסתכל קדימה, אז בסוף התהליך תצטרך לשמור את הנתונים.
    אפשר XML, בינארי וכו'.

    אבל למה שלא תתחיל מעכשיו לגעת גם בדאטאבייס? כי לדעתי לשם תגיע בסופו של דבר?

    הנושא שלי הוא ללמוד, השאלה האם יש טעם ללמוד זאת או שגם ככה בסוף משתמשים בדטהבייס כך שאין צורך להשתמש בזה?

    לגבי שמירת הנתונים: אשמח לדעת איך אני עושה זאת? האם בשביל זה צריך להשתמש ב serializtion?
    אז אני מבין שאני צריך ללמוד גם את זה.. (לחפש על זה אצל הרב גוגל :lol: )
    וגם את הקישור לsql..

    פורסם במקור בפורום CODE613 ב01/07/2015 13:26 (+03:00)

    ארכיון code613m

  • לא מצליח לעשות DataContext ועוד כמה שאלות בWPF
    A avr416

    שאלה נוספת:
    בחלון של תצוגת התורמים הצבתי אובייקט מסוג datagrid וקישרתי אותו לdatacontext
    הבעיה שלי היא שאמנם הוא מציג מספר רשומות בטבלה כמספר האובייקטים שיש לי בlist..
    אבל הבעיה היא שכל הערכים הם כערך של האובייקט האחרון שהזנתי.
    מה עושים??
    תודה מראש!!

    פורסם במקור בפורום CODE613 ב30/06/2015 03:12 (+03:00)

    ארכיון code613m

  • לא מצליח לעשות DataContext ועוד כמה שאלות בWPF
    A avr416

    שברתי על זה את הראש כמה שעות עכשיו...
    לא חשבתי על הפתרון של משתנה סטטי, אם כי אני לא בטוח שזה יעיל, כיון שאני בחלון אחד מזין רשימת שמות של הרבה "תורמים" (list של אובייקט מסוג '"תורם"), ואני רוצה אח"כ את כל הרשימה הזאת להציג בחלון אחר. משתנה סטטי יעיל רק במקרה בו אני צריך רק משתנה אחד, לא? (כגון מונה וכדו').

    הפתרון שמצאתי הוא להגדיר כפתור של 'חזור' שכאשר לוחצים עליו הוא מציב את הערך true ב DialogResult (לאחר חיפוש ממושך בפורום הבנתי שזה מה שצריך לעשות..). ואח"כ בחלון הראשי אני מציב את הערך של הList שלי בתור ה DataContext של החלון השני.
    ככה:

    donors.Add(donor1);
                    DialogResult = true;
    

    ובחלון הראשי:

    private void ViewClick(object sender, RoutedEventArgs e)
            {
                viewDonor vd = new viewDonor();
                vd.DataContext = ad.donors; // ad זהו החלון הקודם (addDonor)
                vd.ShowDialog();
            }
    

    הבעיה שלי כרגע (שעדיין לא מצאתי לה פתרון..) היא שאחרי שאני חוזר לחלון הראשי, אם אני רוצה להכנס חזרה לחלון של הוספת תורמים, התוכנה קורסת... אין לי מושג למה..

    פורסם במקור בפורום CODE613 ב30/06/2015 02:46 (+03:00)

    ארכיון code613m

  • לא מצליח לעשות DataContext ועוד כמה שאלות בWPF
    A avr416

    למדתי כאן על הגדרת datacontext
    אני מנסה ליישם זאת אצלי בתוכנית, אבל אני מקבל הודעת שגיאה:
    An object reference is required for the non-static field, method, or property 'System.Windows.FrameworkElement.DataContext.get
    יש למישהו מושג למה??
    כמו כן, הוא נותן לי רק את האפשרות DataContextProperty וכדי לקבל את הדטה קונטקסט אני מוכרח למחוק לו את הסוף.. למה?
    תודה רבה!!

    שאלות נוספת:
    בחלון אחד של התכנית נתתי למשתמש אפשרות להזין פרטים של תורמים, וכל הנתונים נשמרים באובייקט 'תורם' חדש, וכל התורמים מאוחסנים בList.
    עכשיו, אני מנסה ליצור חלון חדש שבו תוצג למשתמש רשימה של כל התורמים שהוזנו בחלון הראשון.
    הבעיה שלי היא שבחלון השני לא יעזור לי ליצור אובייקט חדש, כי אני צריך את המידע שנשמר באובייקטים הקודמים. אבל מצד שני אני לא מצליח לגשת אליהם. למרות שניסיתי להגדיר אותם בתור public. איך אני אמור לעשות זאת?
    כמו כן, באיזה פקד הכי כדאי להשתמש כדי להציג את כל המידע בחלון (listBox/DataGrid)?
    תודה רבה!!
    אברהם

    פורסם במקור בפורום CODE613 ב29/06/2015 20:49 (+03:00)

    ארכיון code613m

  • איך אתם מעצבים טופס בWPF?
    A avr416

    השתמשתי עכשיו בפקד HeaderedContentControl שהמלצת עליו
    ואכן - אין בפי מילים!! פקד מעולה ונוח!!
    תודה רבה!

    פורסם במקור בפורום CODE613 ב21/07/2015 21:46 (+03:00)

    ארכיון code613m

  • איך אתם מעצבים טופס בWPF?
    A avr416

    תודה רבה על הדוגמאות המצויינות!! ישבתי ללמוד אותם בעיון רב והתחדשו לי הרבה דברים!! תודה גם על הקישורים המצויינים שצירפת!!
    ובטוחני שעוד אשתמש בדוגמאות הללו כדי להבין יותר..
    ברשותך שאלה קטנה:
    אם הגדרת בresources סטייל של עיצוב ונתת לו שם, מדוע אח"כ כתבת: Style="{StaticResource captions} ולא מספיק לכתוב style=caption?

    פורסם במקור בפורום CODE613 ב04/07/2015 22:52 (+03:00)

    ארכיון code613m

  • איך אתם מעצבים טופס בWPF?
    A avr416

    תודה!!
    כרגע זה מה שעצבתי:

    addDonor.png
    אבל כשמגדילים את החלון זה נראה כך:

    addDonor1.jpg
    השתמשתי בקוד הxaml הבא:

    <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="20"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="20"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
            </Grid.ColumnDefinitions>
            <Label Grid.ColumnSpan="3" Content="הוסף תורם חדש" Grid.Column="2" HorizontalAlignment="Center" Height="30" Grid.Row="1" VerticalAlignment="Center" Width="132" HorizontalContentAlignment="Center" FlowDirection="RightToLeft" FontWeight="Bold" FontSize="14" Margin="0,0,1,0"/>
            <Label Content="מס' סידורי" Grid.Column="5"  Grid.Row="2" FlowDirection="RightToLeft"/>
            <Label x:Name="idNumber" MinWidth="20" Grid.Column="4" Grid.Row="2" Padding="0" FontWeight="Bold" FlowDirection="RightToLeft" FontSize="14"/>
            <Label Content="שם פרטי" Grid.Column="5"   Grid.Row="3" FlowDirection="RightToLeft"  MaxHeight="Infinity" MaxWidth="Infinity" />
            <Label Content="שם משפחה" Grid.Column="5" Grid.Row="4"  FlowDirection="RightToLeft"   MaxHeight="Infinity" MaxWidth="Infinity" />
            <TextBox x:Name="firstName" Grid.Column="4"  Grid.Row="3" MinWidth="90" FlowDirection="RightToLeft" />
            <TextBox x:Name="lastName" Grid.Column="4" Grid.Row="4" MinWidth="90" FlowDirection="RightToLeft" />
            <Label Content="מספר טלפון" Grid.Column="5"  Grid.Row="5"  FlowDirection="RightToLeft"/>
            <Label Grid.Column="5"  Grid.Row="6" FlowDirection="RightToLeft" Content="כתובת" />
            <TextBox x:Name="telefon" Grid.Row="5" Grid.Column="4"  MinWidth="30" FlowDirection="RightToLeft"/>
            <TextBox x:Name="adress" Grid.Row="6" Grid.Column="4" MinWidth="170" FlowDirection="RightToLeft"/>
            <Label Content="מייל" Grid.Column="5" Grid.Row="7"  FlowDirection="RightToLeft" />
            <TextBox x:Name="eMail" Grid.Column="4" Grid.Row="7" MinWidth="170" Text="Email:"/>
            <Button x:Name="addButton" Content="הוסף תורם" Grid.Column="4" Grid.Row="8" Click="addButton_Click"/>
            <Label Grid.Row="2" Grid.Column="2" Content="סכום התרומה" MinWidth="50" FlowDirection="RightToLeft" />
            <TextBox Grid.Column="1" Grid.Row="2" MinWidth="80" x:Name="sum" FlowDirection="RightToLeft"/>
            <RadioButton x:Name="frequenci" Grid.Row="3" Grid.Column="2" Content="תרומה חד פעמית" FlowDirection="RightToLeft" IsChecked="True"/>
            <RadioButton x:Name="monthly" Grid.Row="4" Grid.Column="2" Content="תרומה חודשית" FlowDirection="RightToLeft"/>
            <Label Content="אופן התשלום" Grid.Row="5" Grid.Column="2" FlowDirection="RightToLeft"/>
            <ComboBox Grid.Row="5" Grid.Column="1" FlowDirection="RightToLeft" IsEnabled="{Binding ElementName=monthly, Path=IsChecked}">
                <ComboBoxItem x:Name="creditCard" Content="כרטיס אשראי" />
                <ComboBoxItem x:Name="directDebit" Content="הוראת קבע"/>
            </ComboBox>
            <Label Content="תאריך חיוב" Grid.Column="2" Grid.Row="6" FlowDirection="RightToLeft"/>
            <TextBox x:Name="datePayBox" Grid.Row="6" Grid.Column="1" FlowDirection="RightToLeft" IsEnabled="{Binding ElementName=monthly, Path=IsChecked}"/>
            <Button Content="חזור למסך הראשי" Grid.Column="1" Grid.Row="8" Click="BackClick" />
            
        </Grid>
    

    פורסם במקור בפורום CODE613 ב02/07/2015 12:35 (+03:00)

    ארכיון code613m

  • איך אתם מעצבים טופס בWPF?
    A avr416

    @דוד ל.ט.

    אני יודע שלא עניתי לך כלום, אך מאידך השאלה המעורפלת זעקה לסדר ולא לתשובה 🙂

    קודם כל, תודה על התשובה המורחבת שאכן עושה סדר.. אם כי את עיקרי הדברים ידעתי..
    אכן, השאלה קצת מעורפלת, אבהיר אותה:

    אני כותב טופס שבו המשתמש אמור להזין הרבה פרטים(שם פרטי/משפחה, כתובת, טלפון, מייל וכו')
    לשם כך אני אמור להשתמש בהרבה labelים ותיבות טקסט..
    כמו כן, אני לא רוצה לקבע אותם לנקודה מסוימת בחלון כדי שכל משתמש יוכל להתאים אותו למסך שלו.
    לכן, נראה לי שstackpanel לא רלבנטי, כיון שהוא מגדיר שכל הפקדים בערימה אחד אחרי השני (מאוזן או מאונך..). וכן הdockpanel לא לרבנטי כי למיטב הבנתי הוא מיישר את הפקדים לקצוות החלון.. והcanvas ג"כ לא יודע לשנות את הפקד בהתאם לגודל החלון, אלא רק בנקודה המסוימת שאני מגדיר.

    אם כן יש שתי אפשרויות: wrapPanel שהוא מסדר לי את הפקדים אחד אחרי השני. (אלא שכאן לחסרון ידיעתי הפקד מחליט מתי להתחיל שורה חדשה לפי גודל החלון, ולפעמים אני רוצה שפקד מסוים יהיה בשורה חדשה, כך שהוא פחות שימושי).
    או grid שאיתו אני יכול לעשות ככל העולה על רוחי, בלי להצמיד את הפקד לנקודה מסוימת, אלא אני מצמיד אותו לעמודה/שורה והוא מתרחב/מתכווץ לפי החלון (שוב, גם פה אני יכול להגדיר נקודה מסוימת אם אני רוצה..).
    עד עכשיו (4 חלונות שעיצבתי :lol: ) השתמשתי בgrid, (פעם אחת שילבתי בתוך הגריד בתא מסוים wrap panel ובו הצבתי חלק מהפקדים..)

    לכן שאלתי היא: א. האם זוהי הדרך המומלצת כאשר יוצרים חלון כזה? (grid וקביעת הפקדים בתאים, כאשר רוחב העמודות והשורות מוגדר אוט').
    ב. האם ישנה אפשרות שכאשר החלון גדל גם גודל הכתב של התוויות ופקדים גדל, או שרק הפקד עצמו גדל?
    מקווה שעכשיו זה קצת יותר ממוקד ובהיר.

    פורסם במקור בפורום CODE613 ב01/07/2015 12:50 (+03:00)

    ארכיון code613m
  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום