W celu stworzenia wygodnego interfejsu dla aplikacji WinForm .Net 2.0, nad którą pracuję, potrzebuję kontroli, którą jestem pewna, wykracza poza "standardowe działanie" dowolnego standardowego kontrolera. Mock-up, co staram się osiągnąć w następujący sposób:Kompleks .Net 2.0 Formanty Windows Forms: od czego zacząć?
Mock up http://www.claware.com/images/temp/mockup.png
Zasadniczo ta część prób aplikacyjnych do analizowania słów na sylaby z języków plemiennych (nie odnosi się do słownika; wszelkie Unicode Możliwe są znaki.) Do czasu, gdy użytkownik zajdzie tak daleko, już zdefiniował samogłoski/spółgłoski w swoim języku i inną konfigurację. Następnie następuje iteracyjny proces (1) aplikacji zgaduje, jakie sylaby istnieją w języku opartym na niektórych regułach, (2) użytkownik ulepsza domysły, wybiera odpowiednie parsowania lub ręcznie parsuje słowo, (3) aplikacja "uczy się "od opinii użytkownika i sprytnie domysły, (4) powtarzaj, aż dane będą" wystarczająco dobre ", aby przejść dalej.
Kontrola musi przedstawiać każde słowo (szare nagłówki), a następnie wszystkie domysły łamania sylaby (białe obszary z kropkami oddzielającymi części słów). Istnieje również sposób ręcznego wprowadzenia analizy składniowej, która będzie wyświetlana obszar tekstowy i przycisk zapisu (u dołu makiety). Gdy użytkownik unosi się nad odgadywaniem, zmienia się tło i pojawiają się przyciski "zaakceptuj/odrzuć". Kliknięcie na akceptację lub przejście do ręcznego parsowania usuwa całe słowo z listy. Kliknięcie przycisku odrzucania usuwa tylko ten element.
Nie jestem w 100% sprzedany na formatowanie, które mam powyżej, ale myślę, że można uzyskać ogólne pojęcie o rodzajach formatowania i kontroli funkcjonalnej, których potrzebuję. Kontrolka będzie również przewijać się w pionie - początkowo mogą to być tysiące słów.
Moje pytanie dla doświadczonych programistów WinForms: od czego zacząć? Naprawdę bardzo chciałbym pozostać w ramach jądra .Net i rozszerzyć istniejącą kontrolę, a nie kontrolę zewnętrzną. (Ryzykując rozpoczęcie wojny religijnej: tak, cierpię na zespół NIH, ale jest to świadoma decyzja oparta na wielu rozwiązaniach szybko rozwiązujących, ale długotrwałych problemach z kontrolkami stron trzecich.) Gdzie mogę uzyskać najwięcej "huk dla mojego bucka" i co najmniej ponowne wymyślenie koła? ListView? Skrzynka na listy? ScrollableControl? Czy muszę przejść całą drogę z powrotem do Control i malować wszystko ręcznie? Doceniam każdą pomoc, która może być dostarczona!
[Edytuj] Dziękuję wszystkim za pomysły. Wydaje się, że najbardziej eleganckim rozwiązaniem dla moich celów jest stworzenie niestandardowego sterowania składającego się z FlowLayoutPanel i VScrollBar. FlowLayoutPanel może zawierać wystąpienia niestandardowych formantów używanych dla każdego słowa. Ale FlowLayoutPanel jest wirtualny, tzn. Zawiera tylko te wystąpienia, które są widoczne (i niektóre "tylko poza zwojem"). Zdarzenia VScrollBar określają, co należy załadować. Trochę kodu do napisania, ale nie jest tak źle i wydaje się działać dobrze.
Czy korzystanie z WPF jest utrudnione? Pod jednym względem jest to WinForms + HTML, a Twoje makiety można łatwo wykorzystać w Expression Blend. – sipwiz
Niestety, tak. Często mam "mężczyznę, naprawdę chciałabym móc skorzystać z WPF". –
Byłbym zainteresowany, aby zobaczyć gotowy artykuł .... – cjk