От прикладного уровня (к сожалению). Я соглашаюсь, что надлежащий способ предотвратить дублирование на уровне базы данных с помощью уникального индекса, но в SQL Server 2005, индексу позволяют быть только 900 байтов, и мой varchar (2048), поле сдувает это.
я не знаю, как хорошо это работало бы, но я думаю, что Вы могли записать триггер для осуществления этого, даже если Вы не могли бы сделать этого непосредственно с индексом. Что-то как:
-- given a table stories(story_id int not null primary key, story varchar(max) not null)
CREATE TRIGGER prevent_plagiarism
ON stories
after INSERT, UPDATE
AS
DECLARE @cnt AS INT
SELECT @cnt = Count(*)
FROM stories
INNER JOIN inserted
ON ( stories.story = inserted.story
AND stories.story_id != inserted.story_id )
IF @cnt > 0
BEGIN
RAISERROR('plagiarism detected',16,1)
ROLLBACK TRANSACTION
END
кроме того, varchar (2048) звуки, подозрительные мне (некоторые вещи в жизни составляют 2 048 байтов, но это довольно редко); разве это не должен действительно быть varchar (макс.)?
Plastic SCM from Codice Software is a very nice example of what a non-traditional, cross-platform WinForms application could look like. It almost has a WPF look and feel to it - but is completely written using standard WinForms (and NO 3rd-party controls!). The screenshots I linked to above to could be good inspiration for you.
The application has a trial period in which you could download it an play around in the UX that they build. The developers are easy-going and would probably even be able to find some time to answer some "how did you do xxx" questions.
Думаю, когда вы говорите о "UI, сделанном в WinForms", вы означает UI или фреймворк виджетов?
Бесплатно :
OpenTheme : Бесплатная базовая библиотека тем.
Dock Panel Suite : Аналогично системе панелей в Visual Studio 2003.
] RCM : Еще одна бесплатная библиотека скинов.
XPTable : Расширенный список.
И вы можете найти множество настраиваемых элементов управления в таком месте, как CodeProject .
] Но если вы готовы платить, вы можете найти на рынке великолепные UI-фреймворки. Как правило, они предлагают бесплатную пробную версию:
... и многие другие.
Telerik имеет исключительный набор winforms и элементов управления WPF. Это недешево, но у них могут быть «бесплатные» версии.
Отредактировано:
На самом деле нашел бесплатный компонент от Telerik. Однако я не использовал это раньше.
Personally, I'm a Devexpress addict. It's serious company, exist from a long long time. They was already there when I used Delphi a long time ago and the VCL (Delphi) are still supported. The support answer, help quickly and the community is very active.
It's not free (there is a free 60 controls pack I think) but I never see a professional controls pack for .NET free, up to date, with (long time) support .....
Также обратите внимание на Krypton - там есть бесплатная библиотека управления.