سلام
خسته نباشید می‌گم ، به نسبت پروژه قبلی ، پیشرفت قابل ملاحظه ای داشتید.

رابط کاربری نرم افزار نسبتا قابل قبوله به جز چند مورد که اگر رعایت کنید ، طراحیتون چشم نواز تر خواهد شد.
- به سایز کنترلهایی که کنار هم قرار میگیرند توجه کنید ، مثلا سعی کنید تا جای ممکن کنترل ها در یک راستا و هم اندازه باشند.
- برای فرم هایی که جستجو رو بر اساس چند آیتم انجام میدید ، میتونید از یک کمبوباکس برای انتخاب آیتم مورد جستجو استفاده کنید و فقط یک تکست باکس و یک دکمه داشته باشید (مثل فرم فهرست محصولات)
- موقع اجرا Taskbar ویندوز هم به زیر فرم اصلی برنامه میره که جالب نیست.
- بعضی از فرم ها رو میتونی خلاصه تر طراحی کنی (برای مثال فرم ثبت استاندارد/کتاب ، با توجه به اینکه آیتم های این دو یکی هستند بنابراین تنها نیمه بالایی فرم کفایت میکنه بعلاوه یک کمبوباکس که حالت فرم رو انتخاب کنی)
- منوی بالایی فرم اصلی برنامه اگر تکست هم داشته باشه بسیار خوب خواهد شد (دسترسی آسان تر خواهد شد ، با توجه به اینکه حتما نیاز نیست برای اطلاع از موضوع زیر منو ها روی منو کلیک شود)


در مورد عملکرد برنامه مواردی که در حال حاضر به ذهنم می‌رسه این ها هستند:

- در اولین اجرا باید مشخصات دیتابیس سروری که قرار هست دیتابیس روی اون ایجاد بشه ، از کاربر گرفته بشه (برای مثال ، ممکنه چندین دیتابیس سرور روی شبکه موجود باشند و یا اصلا کاربر بخواد با نسخه اکسپرس برنامشو اجرا کنه ، در واقع کانکشن استرینگ رو باید در اولین اجرا و با گرفتن اطلاعات از کاربر تولید کنی)
- یک حساب کاربری بصورت پیش فرض در هنگام ساختن دیتابیس باید ایجاد شود (مثلا تحت عنوان مدیر سیستم)
- در فرم ها هنگام ورود اطلاعات اعتبار سنجی انجام نمی شود (برای مثال در فیلد ایمیل در فرم ثبت مشتری ، شما هرچیزی بعنوان ایمیل وارد کنید قبول میکنه و یا در هرجای برنامه به راحتی میتونید در فیلدهای مبلغ ، حروف وارد کنید. اینکه ممکنه خطاها رو بعدا موقع ثبت کنترل کنید خوبه ، اما حتما موقع ورود اطلاعات این موارد رو چک کنید)
- در فرم ها ، شما وقتی روی یک رکورد راست کیلک می کنید و گزینه ویرایش رو انتخاب می کنید ، می‌تونید همون رکورد رو دوباره ثبت کنید. (منظور اینه که در حالت ویرایش طبیعتا دکمه ثبت باید تا پایان ویرایش غیر فعال بشه)
- به نظر میاد در فرم هایی که ورود اطلاعات دارید باید یک دکمه انصراف هم وجود داشته باشه (در صورتی که مثلا کاربر از ویرایش منصرف شد ، از این طریق بتونه فرم رو به حالت قبل از ویرایش برگردونه)
- سعی کنید هنگام ثبت مواردی که به جدول دیگری ارجاع دارن از ابزارهایی مثل کمبوباکس یا کنترلی اختصاصی استفاده کنید و نام محصول / گروه / دسته رو به کاربر نمایش بدید. (فرم ثبت محصولات رو در نظر بگیرید ، آیتم شماره زبان نمونه همین مطلبه)
- وقتی روی گزینه فاکتور نرم افزار / محصولات کلیک میشه یک پیش نمایش خالی از فاکتور دیده میشه. چرا؟
- وقتی داری از معماری چند لایه استفاده میکنی و لایه DAL دارید ، دیگه نباید تو سایر لایه ها کوئری دیده بشه (برای مثال فرم لاگین).
- و اینکه برای هر لایه کافیه یک پروژه در Solution ایجاد کنی و هر کلاسی که به اون لایه مربوط میشه در اون پیاده سازی کنی)



موفق باشید.