This commit is contained in:
Desislava Yordanova 2021-10-06 16:56:49 +03:00
Родитель 3812ae6e30
Коммит 0ad7362eea
43 изменённых файлов: 2891 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,26 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TaskBoardEditDialog", "TaskBoardEditDialog\TaskBoardEditDialog.csproj", "{065BF2C5-C5AE-4DC6-8857-47BFF4FBA4CD}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "TaskBoardEditDialogVB", "TaskBoardEditDialogVB\TaskBoardEditDialogVB.vbproj", "{1BD1310E-6163-4B74-B4D6-83208EAC12B8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{065BF2C5-C5AE-4DC6-8857-47BFF4FBA4CD}.Debug|x86.ActiveCfg = Debug|x86
{065BF2C5-C5AE-4DC6-8857-47BFF4FBA4CD}.Debug|x86.Build.0 = Debug|x86
{065BF2C5-C5AE-4DC6-8857-47BFF4FBA4CD}.Release|x86.ActiveCfg = Release|x86
{065BF2C5-C5AE-4DC6-8857-47BFF4FBA4CD}.Release|x86.Build.0 = Release|x86
{1BD1310E-6163-4B74-B4D6-83208EAC12B8}.Debug|x86.ActiveCfg = Debug|x86
{1BD1310E-6163-4B74-B4D6-83208EAC12B8}.Debug|x86.Build.0 = Debug|x86
{1BD1310E-6163-4B74-B4D6-83208EAC12B8}.Release|x86.ActiveCfg = Release|x86
{1BD1310E-6163-4B74-B4D6-83208EAC12B8}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
</startup>
<appSettings>
<add key="TelerikWinFormsThemeName" value="Fluent" />
</appSettings>
</configuration>

Просмотреть файл

@ -0,0 +1,20 @@
using System;
using System.Linq;
using System.Windows.Forms;
namespace TaskBoardEditDialog
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new RadForm1());
}
}
}

Просмотреть файл

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("TaskBoardEditDialog")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("TaskBoardEditDialog")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("de160e96-981e-4c46-8509-b7a02443bc2d")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Просмотреть файл

@ -0,0 +1,113 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace TaskBoardEditDialog.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TaskBoardEditDialog.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap AndrewFuller22 {
get {
object obj = ResourceManager.GetObject("AndrewFuller22", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap AnneDodsworth22 {
get {
object obj = ResourceManager.GetObject("AnneDodsworth22", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap BobSmill22 {
get {
object obj = ResourceManager.GetObject("BobSmill22", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap EmilySmile22 {
get {
object obj = ResourceManager.GetObject("EmilySmile22", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap nancy22 {
get {
object obj = ResourceManager.GetObject("nancy22", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

Просмотреть файл

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="AndrewFuller22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AndrewFuller22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnneDodsworth22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnneDodsworth22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="BobSmill22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\BobSmill22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="EmilySmile22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\EmilySmile22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="nancy22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\nancy22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace TaskBoardEditDialog.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

Просмотреть файл

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

82
TaskBoard/TaskBoardEditDialog/TaskBoardEditDialog/RadForm1.Designer.cs сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,82 @@
namespace TaskBoardEditDialog
{
partial class RadForm1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.radTaskBoard1 = new Telerik.WinControls.UI.RadTaskBoard();
this.radContextMenu1 = new Telerik.WinControls.UI.RadContextMenu(this.components);
this.radMenuItem1 = new Telerik.WinControls.UI.RadMenuItem();
((System.ComponentModel.ISupportInitialize)(this.radTaskBoard1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
this.SuspendLayout();
//
// radTaskBoard1
//
this.radTaskBoard1.Dock = System.Windows.Forms.DockStyle.Fill;
this.radTaskBoard1.Location = new System.Drawing.Point(0, 0);
this.radTaskBoard1.Name = "radTaskBoard1";
this.radTaskBoard1.Size = new System.Drawing.Size(851, 575);
this.radTaskBoard1.TabIndex = 0;
//
// radContextMenu1
//
this.radContextMenu1.Items.AddRange(new Telerik.WinControls.RadItem[] {
this.radMenuItem1});
//
// radMenuItem1
//
this.radMenuItem1.Name = "radMenuItem1";
this.radMenuItem1.Text = "Edit task card";
this.radMenuItem1.Click += new System.EventHandler(this.radMenuItem1_Click);
//
// RadForm1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(851, 575);
this.Controls.Add(this.radTaskBoard1);
this.Name = "RadForm1";
//
//
//
this.RootElement.ApplyShapeToControl = true;
this.Text = "RadForm1";
((System.ComponentModel.ISupportInitialize)(this.radTaskBoard1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
this.ResumeLayout(false);
}
#endregion
private Telerik.WinControls.UI.RadTaskBoard radTaskBoard1;
private Telerik.WinControls.UI.RadContextMenu radContextMenu1;
private Telerik.WinControls.UI.RadMenuItem radMenuItem1;
}
}

Просмотреть файл

@ -0,0 +1,141 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.UI;
using Telerik.WinControls.UI.TaskBoard;
namespace TaskBoardEditDialog
{
public partial class RadForm1 : Telerik.WinControls.UI.RadForm
{
UserInfo user1 = new UserInfo();
UserInfo user2 = new UserInfo();
UserInfo user3 = new UserInfo();
UserInfo user4 = new UserInfo();
public RadForm1()
{
InitializeComponent();
user1.FirstName = "Anne";
user1.LastName = "Dodsworth";
user1.Avatar = Properties.Resources.AnneDodsworth22;
user2.FirstName = "Andrew";
user2.LastName = "Fuller";
user2.Avatar = Properties.Resources.AndrewFuller22;
user3.FirstName = "Bob";
user3.LastName = "Smill";
user3.Avatar = Properties.Resources.BobSmill22;
user4.FirstName = "Nancy";
user4.LastName = "Fuller";
user4.Avatar = Properties.Resources.nancy22;
this.radTaskBoard1.Users.Add(user1);
this.radTaskBoard1.Users.Add(user2);
this.radTaskBoard1.Users.Add(user3);
this.radTaskBoard1.Users.Add(user4);
AddTaskCards();
foreach (RadTaskBoardColumnElement col in this.radTaskBoard1.Columns)
{
col.TaskCardAdding += col_TaskCardAdding;
}
this.radTaskBoard1.MouseDown += radTaskBoard1_MouseDown;
this.radTaskBoard1.MouseDoubleClick += radTaskBoard1_MouseDoubleClick;
}
private void radTaskBoard1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
RadTaskCardElement taskCard = this.radTaskBoard1.ElementTree.GetElementAtPoint(e.Location) as RadTaskCardElement;
if (taskCard != null)
{
TaskCardEditDialog editDialog = new TaskCardEditDialog(taskCard, this.radTaskBoard1);
editDialog.ShowDialog();
}
}
}
private void radTaskBoard1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
this.radContextMenu1.Items[0].Tag = null;
RadTaskCardElement taskCard = this.radTaskBoard1.ElementTree.GetElementAtPoint(e.Location) as RadTaskCardElement;
if (taskCard != null)
{
Point pt = this.radTaskBoard1.PointToScreen(e.Location);
this.radContextMenu1.Items[0].Tag = taskCard;
this.radContextMenu1.DropDown.ClosePopup(RadPopupCloseReason.CloseCalled);
this.radContextMenu1.Show(pt);
}
}
}
private void col_TaskCardAdding(RadTaskBoardColumnElement.TaskCardAddingEventArgs args)
{
RadTaskCardElement defaultTaskCard = new RadTaskCardElement();
TaskCardEditDialog editDialog = new TaskCardEditDialog(defaultTaskCard, this.radTaskBoard1);
if (editDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
args.TaskCard = defaultTaskCard;
}
else
{
args.Cancel = true;
}
}
private void AddTaskCards()
{
RadTaskCardElement card = new RadTaskCardElement();
RadTaskBoardColumnElement c1 = new RadTaskBoardColumnElement();
c1.Title = "Backlog";
c1.Subtitle = "Internal Issues";
RadTaskBoardColumnElement c2 = new RadTaskBoardColumnElement();
c2.Title = "In Development";
c2.Subtitle = "Prioritized Issues";
c2.IsCollapsed = true;
this.radTaskBoard1.Columns.Add(c1);
this.radTaskBoard1.Columns.Add(c2);
card.TitleText = "ListView improvements";
card.DescriptionText = "Research phase";
card.AccentSettings.Color = Color.Red;
card.Users.Add(user1);
card.Users.Add(user2);
RadTaskCardTagElement tagWF = new RadTaskCardTagElement();
tagWF.Text = "WinForms";
RadTaskCardTagElement tagWPF = new RadTaskCardTagElement();
tagWPF.Text = "WPF";
card.TagElements.Add(tagWF);
card.TagElements.Add(tagWPF);
card.SubTasks.Add(new SubTask(card));
card.SubTasks.Add(new SubTask(card));
card.SubTasks.Add(new SubTask(card));
SubTask x = new SubTask(card);
x.Completed = true;
card.SubTasks.Add(x);
c1.TaskCardCollection.Add(card);
}
private void radMenuItem1_Click(object sender, EventArgs e)
{
RadMenuItem item = sender as RadMenuItem;
RadTaskCardElement taskCardToEdit = item.Tag as RadTaskCardElement;
TaskCardEditDialog editDialog = new TaskCardEditDialog(taskCardToEdit, this.radTaskBoard1);
editDialog.ShowDialog();
}
}
}

Просмотреть файл

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="radContextMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.4 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.4 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.2 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.2 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Просмотреть файл

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{065BF2C5-C5AE-4DC6-8857-47BFF4FBA4CD}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TaskBoardEditDialog</RootNamespace>
<AssemblyName>TaskBoardEditDialog</AssemblyName>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Telerik.WinControls, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e, processorArchitecture=MSIL">
<HintPath>..\..\..\Program Files (x86)\Progress\Telerik UI for WinForms R3 2021\Bin40\Telerik.WinControls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Telerik.WinControls.UI, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e, processorArchitecture=MSIL">
<HintPath>..\..\..\Program Files (x86)\Progress\Telerik UI for WinForms R3 2021\Bin40\Telerik.WinControls.UI.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="TelerikCommon, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e, processorArchitecture=MSIL">
<HintPath>..\..\..\Program Files (x86)\Progress\Telerik UI for WinForms R3 2021\Bin40\TelerikCommon.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="RadForm1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="RadForm1.Designer.cs">
<DependentUpon>RadForm1.cs</DependentUpon>
</Compile>
<Compile Include="TaskCardEditDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="TaskCardEditDialog.Designer.cs">
<DependentUpon>TaskCardEditDialog.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="RadForm1.resx">
<DependentUpon>RadForm1.cs</DependentUpon>
</EmbeddedResource>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="TaskCardEditDialog.resx">
<DependentUpon>TaskCardEditDialog.cs</DependentUpon>
</EmbeddedResource>
<None Include="app.manifest" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<!--sirinie -->
<None Include="Resources\AndrewFuller22.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnneDodsworth22.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\BobSmill22.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\EmilySmile22.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\nancy22.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
<UserProperties ShouldAddDPIScalingManifest="True" />
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -0,0 +1,242 @@
namespace TaskBoardEditDialog
{
partial class TaskCardEditDialog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.radLabel1 = new Telerik.WinControls.UI.RadLabel();
this.radLabel2 = new Telerik.WinControls.UI.RadLabel();
this.radLabel3 = new Telerik.WinControls.UI.RadLabel();
this.radLabel4 = new Telerik.WinControls.UI.RadLabel();
this.usersCheckedDropDownList = new Telerik.WinControls.UI.RadCheckedDropDownList();
this.titleTextBox = new Telerik.WinControls.UI.RadTextBox();
this.descriptionTextBox = new Telerik.WinControls.UI.RadTextBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.radButtonOK = new Telerik.WinControls.UI.RadButton();
this.radButtonCancel = new Telerik.WinControls.UI.RadButton();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.tagsAutoCompleteBox = new Telerik.WinControls.UI.RadAutoCompleteBox();
((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.usersCheckedDropDownList)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.titleTextBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.descriptionTextBox)).BeginInit();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.radButtonOK)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.radButtonCancel)).BeginInit();
this.tableLayoutPanel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tagsAutoCompleteBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
this.SuspendLayout();
//
// radLabel1
//
this.radLabel1.Dock = System.Windows.Forms.DockStyle.Top;
this.radLabel1.Location = new System.Drawing.Point(3, 3);
this.radLabel1.Name = "radLabel1";
this.radLabel1.Size = new System.Drawing.Size(30, 18);
this.radLabel1.TabIndex = 0;
this.radLabel1.Text = "Title:";
//
// radLabel2
//
this.radLabel2.Dock = System.Windows.Forms.DockStyle.Top;
this.radLabel2.Location = new System.Drawing.Point(3, 29);
this.radLabel2.Name = "radLabel2";
this.radLabel2.Size = new System.Drawing.Size(66, 18);
this.radLabel2.TabIndex = 1;
this.radLabel2.Text = "Description:";
//
// radLabel3
//
this.radLabel3.Dock = System.Windows.Forms.DockStyle.Top;
this.radLabel3.Location = new System.Drawing.Point(3, 107);
this.radLabel3.Name = "radLabel3";
this.radLabel3.Size = new System.Drawing.Size(36, 18);
this.radLabel3.TabIndex = 2;
this.radLabel3.Text = "Users:";
//
// radLabel4
//
this.radLabel4.Dock = System.Windows.Forms.DockStyle.Top;
this.radLabel4.Location = new System.Drawing.Point(3, 185);
this.radLabel4.Name = "radLabel4";
this.radLabel4.Size = new System.Drawing.Size(32, 18);
this.radLabel4.TabIndex = 3;
this.radLabel4.Text = "Tags:";
//
// usersCheckedDropDownList
//
this.usersCheckedDropDownList.AutoSize = false;
this.usersCheckedDropDownList.Dock = System.Windows.Forms.DockStyle.Fill;
this.usersCheckedDropDownList.DropDownAnimationEnabled = true;
this.usersCheckedDropDownList.ItemHeight = 20;
this.usersCheckedDropDownList.Location = new System.Drawing.Point(118, 107);
this.usersCheckedDropDownList.Multiline = true;
this.usersCheckedDropDownList.Name = "usersCheckedDropDownList";
this.usersCheckedDropDownList.Size = new System.Drawing.Size(341, 72);
this.usersCheckedDropDownList.TabIndex = 4;
//
// titleTextBox
//
this.titleTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.titleTextBox.Location = new System.Drawing.Point(118, 3);
this.titleTextBox.Name = "titleTextBox";
this.titleTextBox.Size = new System.Drawing.Size(341, 24);
this.titleTextBox.TabIndex = 6;
//
// descriptionTextBox
//
this.descriptionTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.descriptionTextBox.Location = new System.Drawing.Point(118, 29);
this.descriptionTextBox.Multiline = true;
this.descriptionTextBox.Name = "descriptionTextBox";
//
//
//
this.descriptionTextBox.RootElement.StretchVertically = true;
this.descriptionTextBox.Size = new System.Drawing.Size(341, 72);
this.descriptionTextBox.TabIndex = 7;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 75F));
this.tableLayoutPanel1.Controls.Add(this.radLabel1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.radLabel4, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.descriptionTextBox, 1, 1);
this.tableLayoutPanel1.Controls.Add(this.usersCheckedDropDownList, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.titleTextBox, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.radLabel2, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.radLabel3, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 1, 4);
this.tableLayoutPanel1.Controls.Add(this.tagsAutoCompleteBox, 1, 3);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 5;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 15F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 15F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(462, 261);
this.tableLayoutPanel1.TabIndex = 8;
//
// radButtonOK
//
this.radButtonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.radButtonOK.Dock = System.Windows.Forms.DockStyle.Fill;
this.radButtonOK.Location = new System.Drawing.Point(3, 3);
this.radButtonOK.Name = "radButtonOK";
this.radButtonOK.Size = new System.Drawing.Size(94, 28);
this.radButtonOK.TabIndex = 8;
this.radButtonOK.Text = "OK";
this.radButtonOK.Click += new System.EventHandler(this.radButtonOK_Click);
//
// radButtonCancel
//
this.radButtonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.radButtonCancel.Dock = System.Windows.Forms.DockStyle.Fill;
this.radButtonCancel.Location = new System.Drawing.Point(103, 3);
this.radButtonCancel.Name = "radButtonCancel";
this.radButtonCancel.Size = new System.Drawing.Size(94, 28);
this.radButtonCancel.TabIndex = 9;
this.radButtonCancel.Text = "Cancel";
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.ColumnCount = 2;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel2.Controls.Add(this.radButtonOK, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.radButtonCancel, 1, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Right;
this.tableLayoutPanel2.Location = new System.Drawing.Point(259, 224);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(200, 34);
this.tableLayoutPanel2.TabIndex = 10;
//
// tagsAutoCompleteBox
//
this.tagsAutoCompleteBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.tagsAutoCompleteBox.Location = new System.Drawing.Point(118, 185);
this.tagsAutoCompleteBox.Name = "tagsAutoCompleteBox";
this.tagsAutoCompleteBox.Size = new System.Drawing.Size(341, 33);
this.tagsAutoCompleteBox.TabIndex = 11;
//
// TaskCardEditDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(462, 261);
this.Controls.Add(this.tableLayoutPanel1);
this.Name = "TaskCardEditDialog";
//
//
//
this.RootElement.ApplyShapeToControl = true;
this.Text = "TaskCardEditDialog";
((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.radLabel4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.usersCheckedDropDownList)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.titleTextBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.descriptionTextBox)).EndInit();
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.radButtonOK)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.radButtonCancel)).EndInit();
this.tableLayoutPanel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.tagsAutoCompleteBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
this.ResumeLayout(false);
}
#endregion
private Telerik.WinControls.UI.RadLabel radLabel1;
private Telerik.WinControls.UI.RadLabel radLabel2;
private Telerik.WinControls.UI.RadLabel radLabel3;
private Telerik.WinControls.UI.RadLabel radLabel4;
private Telerik.WinControls.UI.RadCheckedDropDownList usersCheckedDropDownList;
private Telerik.WinControls.UI.RadTextBox titleTextBox;
private Telerik.WinControls.UI.RadTextBox descriptionTextBox;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private Telerik.WinControls.UI.RadButton radButtonOK;
private Telerik.WinControls.UI.RadButton radButtonCancel;
private Telerik.WinControls.UI.RadAutoCompleteBox tagsAutoCompleteBox;
}
}

Просмотреть файл

@ -0,0 +1,186 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.Primitives;
using Telerik.WinControls.UI;
using Telerik.WinControls.UI.TaskBoard;
namespace TaskBoardEditDialog
{
public partial class TaskCardEditDialog : Telerik.WinControls.UI.RadForm
{
private RadTaskCardElement taskCardToEdit;
private RadTaskBoard taskBoard;
private Size imageSize = new Size(16, 16);
private BindingList<string> teams = new BindingList<string>() { "WinForms", "WPF", "Reporting", "Blazor", "DocumentProcessing" };
private TaskCardEditDialog()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterParent;
this.Text = "Edit Card";
}
public TaskCardEditDialog(RadTaskCardElement defaultTaskCard, RadTaskBoard taskBoardControl) : this()
{
this.taskCardToEdit = defaultTaskCard;
this.taskBoard = taskBoardControl;
this.usersCheckedDropDownList.DataSource = this.taskBoard.Users;
this.usersCheckedDropDownList.ValueMember = "Initials";
this.usersCheckedDropDownList.CheckedDropDownListElement.ItemHeight = 26;
this.usersCheckedDropDownList.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.CreateTextBlock += AutoCompleteTextBox_CreateTextBlock;
this.usersCheckedDropDownList.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.TextBlockFormatting += AutoCompleteTextBox_TextBlockFormatting;
this.usersCheckedDropDownList.VisualListItemFormatting += usersCheckedDropDownList_VisualListItemFormatting;
this.tagsAutoCompleteBox.AutoCompleteDataSource = teams;
LoadSettings(this.taskCardToEdit);
}
private void LoadSettings(RadTaskCardElement taskCard)
{
this.titleTextBox.Text = taskCard.TitleText;
this.descriptionTextBox.Text = taskCard.DescriptionText;
foreach (UserInfo user in taskCard.Users)
{
RadCheckedListDataItem item = this.usersCheckedDropDownList.Items.FirstOrDefault(x => x.Value.Equals(user.Initials)) as RadCheckedListDataItem;
item.Checked = true;
}
foreach (RadTaskCardTagElement tag in taskCard.TagElements)
{
this.tagsAutoCompleteBox.Text += tag.Text + ";";
}
}
private void AutoCompleteTextBox_TextBlockFormatting(object sender, TextBlockFormattingEventArgs e)
{
ImageTokenizedTextBlockElement imageToken = e.TextBlock as ImageTokenizedTextBlockElement;
if (imageToken != null)
{
RadCheckedListDataItem dataItem = imageToken.Item.Value as RadCheckedListDataItem;
if (dataItem != null)
{
UserInfo user = dataItem.DataBoundItem as UserInfo;
if (user != null)
{
imageToken.Image.Image = ResizeImage(user.Avatar, imageSize);
}
}
}
}
private void AutoCompleteTextBox_CreateTextBlock(object sender, CreateTextBlockEventArgs e)
{
if (e.TextBlock is TokenizedTextBlockElement)
{
e.TextBlock = new ImageTokenizedTextBlockElement();
}
}
private void usersCheckedDropDownList_VisualListItemFormatting(object sender, VisualItemFormattingEventArgs args)
{
UserInfo user = args.VisualItem.Data.DataBoundItem as UserInfo;
if (user != null)
{
RadCheckedListVisualItem visualItem = args.VisualItem as RadCheckedListVisualItem;
visualItem.CheckBox.Text = user.FirstName + " " + user.LastName;
visualItem.CheckBox.Image = user.Avatar;
visualItem.CheckBox.TextImageRelation = TextImageRelation.ImageBeforeText;
}
}
private void radButtonOK_Click(object sender, EventArgs e)
{
this.taskCardToEdit.TitleText = this.titleTextBox.Text;
this.taskCardToEdit.DescriptionText = this.descriptionTextBox.Text;
this.taskCardToEdit.Users.Clear();
foreach (RadCheckedListDataItem checkedUser in this.usersCheckedDropDownList.CheckedItems)
{
this.taskCardToEdit.Users.Add(checkedUser.DataBoundItem as UserInfo);
}
this.taskCardToEdit.TagElements.Clear();
foreach (RadTokenizedTextItem token in this.tagsAutoCompleteBox.Items)
{
RadTaskCardTagElement tag = new RadTaskCardTagElement();
tag.Text = token.Text;
this.taskCardToEdit.TagElements.Add(tag);
}
}
public class ImageTokenizedTextBlockElement : TokenizedTextBlockElement
{
private ImagePrimitive image;
public ImagePrimitive Image
{
get
{
return this.image;
}
}
protected override void CreateChildElements()
{
base.CreateChildElements();
this.image = new ImagePrimitive();
this.image.ImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.image.StretchVertically = false;
this.image.StretchHorizontally = false;
this.image.MaxSize = new Size(0, 20);
this.Children.Insert(0, this.image);
}
protected override RadTokenizedTextItem CreateTokenizedTextItem(string text, object value)
{
RadTokenizedTextItem item = base.CreateTokenizedTextItem(text, value);
return item;
}
protected override Type ThemeEffectiveType
{
get
{
return typeof(TokenizedTextBlockElement);
}
}
}
public static Bitmap ResizeImage(Image image, Size s)
{
int width = s.Width;
int height = s.Height;
var destRect = new Rectangle(0, 0, width, height);
var destImage = new Bitmap(width, height);
destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);
using (var graphics = Graphics.FromImage(destImage))
{
graphics.CompositingMode = CompositingMode.SourceCopy;
graphics.CompositingQuality = CompositingQuality.HighQuality;
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
using (var wrapMode = new ImageAttributes())
{
wrapMode.SetWrapMode(WrapMode.TileFlipXY);
graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode);
}
}
return destImage;
}
}
}

Просмотреть файл

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

Просмотреть файл

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true/PM</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of all Windows versions that this application is designed to work with.
Windows will automatically select the most compatible environment.-->
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
</application>
</compatibility>
</asmv1:assembly>

Просмотреть файл

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
</startup>
<appSettings>
<add key="TelerikWinFormsThemeName" value="Fluent" />
</appSettings>
</configuration>

Просмотреть файл

@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.TaskBoardEditDialogVB.RadForm1
End Sub
End Class
End Namespace

Просмотреть файл

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>RadForm1</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>0</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

Просмотреть файл

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("TaskBoardEditDialogVB")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("TaskBoardEditDialogVB")>
<Assembly: AssemblyCopyright("Copyright © 2021")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("32a3cf09-cb66-4f21-ace8-095a4deee397")>
' Version information for an assembly consists of the following four values:
'
' Major Version
' Minor Version
' Build Number
' Revision
'
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

Просмотреть файл

@ -0,0 +1,113 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("TaskBoardEditDialogVB.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property AndrewFuller22() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("AndrewFuller22", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property AnneDodsworth22() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("AnneDodsworth22", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property BobSmill22() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("BobSmill22", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property EmilySmile22() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("EmilySmile22", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property nancy22() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("nancy22", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
End Module
End Namespace

Просмотреть файл

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="AndrewFuller22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AndrewFuller22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AnneDodsworth22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AnneDodsworth22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="BobSmill22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\BobSmill22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="EmilySmile22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\EmilySmile22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="nancy22" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\nancy22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Просмотреть файл

@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.TaskBoardEditDialogVB.My.MySettings
Get
Return Global.TaskBoardEditDialogVB.My.MySettings.Default
End Get
End Property
End Module
End Namespace

Просмотреть файл

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

Просмотреть файл

@ -0,0 +1,6 @@
Telerik.WinControls.UI.RadAutoCompleteBox, Telerik.WinControls.UI, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e
Telerik.WinControls.UI.RadCheckedDropDownList, Telerik.WinControls.UI, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e
Telerik.WinControls.UI.RadTaskBoard, Telerik.WinControls.UI, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e
Telerik.WinControls.UI.RadTextBox, Telerik.WinControls.UI, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e
Telerik.WinControls.UI.RadLabel, Telerik.WinControls.UI, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e
Telerik.WinControls.UI.RadButton, Telerik.WinControls.UI, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e

70
TaskBoard/TaskBoardEditDialog/TaskBoardEditDialogVB/RadForm1.Designer.vb сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,70 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class RadForm1
Inherits Telerik.WinControls.UI.RadForm
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.RadTaskBoard1 = New Telerik.WinControls.UI.RadTaskBoard()
Me.RadContextMenu1 = New Telerik.WinControls.UI.RadContextMenu(Me.components)
Me.RadMenuItem1 = New Telerik.WinControls.UI.RadMenuItem()
CType(Me.RadTaskBoard1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'RadTaskBoard1
'
Me.RadTaskBoard1.Dock = System.Windows.Forms.DockStyle.Fill
Me.RadTaskBoard1.Location = New System.Drawing.Point(0, 0)
Me.RadTaskBoard1.Name = "RadTaskBoard1"
Me.RadTaskBoard1.Size = New System.Drawing.Size(831, 602)
Me.RadTaskBoard1.TabIndex = 0
'
'RadContextMenu1
'
Me.RadContextMenu1.Items.AddRange(New Telerik.WinControls.RadItem() {Me.RadMenuItem1})
'
'RadMenuItem1
'
Me.RadMenuItem1.Name = "RadMenuItem1"
Me.RadMenuItem1.Text = "Edit task card"
'
'RadForm1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(831, 602)
Me.Controls.Add(Me.RadTaskBoard1)
Me.Name = "RadForm1"
'
'
'
Me.RootElement.ApplyShapeToControl = True
Me.Text = "RadForm1"
CType(Me.RadTaskBoard1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents RadTaskBoard1 As Telerik.WinControls.UI.RadTaskBoard
Friend WithEvents RadContextMenu1 As Telerik.WinControls.UI.RadContextMenu
Friend WithEvents RadMenuItem1 As Telerik.WinControls.UI.RadMenuItem
End Class

Просмотреть файл

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="RadContextMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

Просмотреть файл

@ -0,0 +1,111 @@
Imports Telerik.WinControls.UI.TaskBoard
Imports Telerik.WinControls.UI
Public Class RadForm1
Private user1 As UserInfo = New UserInfo()
Private user2 As UserInfo = New UserInfo()
Private user3 As UserInfo = New UserInfo()
Private user4 As UserInfo = New UserInfo()
Public Sub New()
InitializeComponent()
user1.FirstName = "Anne"
user1.LastName = "Dodsworth"
user1.Avatar = My.Resources.AnneDodsworth22
user2.FirstName = "Andrew"
user2.LastName = "Fuller"
user2.Avatar = My.Resources.AndrewFuller22
user3.FirstName = "Bob"
user3.LastName = "Smill"
user3.Avatar = My.Resources.BobSmill22
user4.FirstName = "Nancy"
user4.LastName = "Fuller"
user4.Avatar = My.Resources.nancy22
Me.RadTaskBoard1.Users.Add(user1)
Me.RadTaskBoard1.Users.Add(user2)
Me.RadTaskBoard1.Users.Add(user3)
Me.RadTaskBoard1.Users.Add(user4)
AddTaskCards()
For Each col As RadTaskBoardColumnElement In Me.RadTaskBoard1.Columns
AddHandler col.TaskCardAdding, AddressOf col_TaskCardAdding
Next
AddHandler Me.RadTaskBoard1.MouseDown, AddressOf radTaskBoard1_MouseDown
AddHandler Me.RadTaskBoard1.MouseDoubleClick, AddressOf radTaskBoard1_MouseDoubleClick
End Sub
Private Sub radTaskBoard1_MouseDoubleClick(ByVal sender As Object, ByVal e As MouseEventArgs)
If e.Button = System.Windows.Forms.MouseButtons.Left Then
Dim taskCard As RadTaskCardElement = TryCast(Me.RadTaskBoard1.ElementTree.GetElementAtPoint(e.Location), RadTaskCardElement)
If taskCard IsNot Nothing Then
Dim editDialog As TaskCardEditDialog = New TaskCardEditDialog(taskCard, Me.RadTaskBoard1)
editDialog.ShowDialog()
End If
End If
End Sub
Private Sub radTaskBoard1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
If e.Button = System.Windows.Forms.MouseButtons.Right Then
Me.radContextMenu1.Items(0).Tag = Nothing
Dim taskCard As RadTaskCardElement = TryCast(Me.RadTaskBoard1.ElementTree.GetElementAtPoint(e.Location), RadTaskCardElement)
If taskCard IsNot Nothing Then
Dim pt As Point = Me.RadTaskBoard1.PointToScreen(e.Location)
Me.radContextMenu1.Items(0).Tag = taskCard
Me.radContextMenu1.DropDown.ClosePopup(RadPopupCloseReason.CloseCalled)
Me.radContextMenu1.Show(pt)
End If
End If
End Sub
Private Sub col_TaskCardAdding(ByVal args As RadTaskBoardColumnElement.TaskCardAddingEventArgs)
Dim defaultTaskCard As RadTaskCardElement = New RadTaskCardElement()
Dim editDialog As TaskCardEditDialog = New TaskCardEditDialog(defaultTaskCard, Me.RadTaskBoard1)
If editDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
args.TaskCard = defaultTaskCard
Else
args.Cancel = True
End If
End Sub
Private Sub AddTaskCards()
Dim card As RadTaskCardElement = New RadTaskCardElement()
Dim c1 As RadTaskBoardColumnElement = New RadTaskBoardColumnElement()
c1.Title = "Backlog"
c1.Subtitle = "Internal Issues"
Dim c2 As RadTaskBoardColumnElement = New RadTaskBoardColumnElement()
c2.Title = "In Development"
c2.Subtitle = "Prioritized Issues"
c2.IsCollapsed = True
Me.RadTaskBoard1.Columns.Add(c1)
Me.RadTaskBoard1.Columns.Add(c2)
card.TitleText = "ListView improvements"
card.DescriptionText = "Research phase"
card.AccentSettings.Color = Color.Red
card.Users.Add(user1)
card.Users.Add(user2)
Dim tagWF As RadTaskCardTagElement = New RadTaskCardTagElement()
tagWF.Text = "WinForms"
Dim tagWPF As RadTaskCardTagElement = New RadTaskCardTagElement()
tagWPF.Text = "WPF"
card.TagElements.Add(tagWF)
card.TagElements.Add(tagWPF)
card.SubTasks.Add(New SubTask(card))
card.SubTasks.Add(New SubTask(card))
card.SubTasks.Add(New SubTask(card))
Dim x As SubTask = New SubTask(card)
x.Completed = True
card.SubTasks.Add(x)
c1.TaskCardCollection.Add(card)
End Sub
Private Sub radMenuItem1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles RadMenuItem1.Click
Dim item As RadMenuItem = TryCast(sender, RadMenuItem)
Dim taskCardToEdit As RadTaskCardElement = TryCast(item.Tag, RadTaskCardElement)
Dim editDialog As TaskCardEditDialog = New TaskCardEditDialog(taskCardToEdit, Me.RadTaskBoard1)
editDialog.ShowDialog()
End Sub
End Class

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.4 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.4 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.2 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.2 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Просмотреть файл

@ -0,0 +1,174 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{1BD1310E-6163-4B74-B4D6-83208EAC12B8}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>TaskBoardEditDialogVB.My.MyApplication</StartupObject>
<RootNamespace>TaskBoardEditDialogVB</RootNamespace>
<AssemblyName>TaskBoardEditDialogVB</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>TaskBoardEditDialogVB.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>TaskBoardEditDialogVB.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Telerik.WinControls, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e, processorArchitecture=MSIL">
<HintPath>..\..\..\Program Files (x86)\Progress\Telerik UI for WinForms R3 2021\Bin40\Telerik.WinControls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Telerik.WinControls.UI, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e, processorArchitecture=MSIL">
<HintPath>..\..\..\Program Files (x86)\Progress\Telerik UI for WinForms R3 2021\Bin40\Telerik.WinControls.UI.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="TelerikCommon, Version=2021.3.914.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e, processorArchitecture=MSIL">
<HintPath>..\..\..\Program Files (x86)\Progress\Telerik UI for WinForms R3 2021\Bin40\TelerikCommon.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="RadForm1.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="RadForm1.Designer.vb">
<DependentUpon>RadForm1.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="TaskCardEditDialog.Designer.vb">
<DependentUpon>TaskCardEditDialog.vb</DependentUpon>
</Compile>
<Compile Include="TaskCardEditDialog.vb">
<SubType>Form</SubType>
</Compile>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="RadForm1.resx">
<DependentUpon>RadForm1.vb</DependentUpon>
</EmbeddedResource>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="TaskCardEditDialog.resx">
<DependentUpon>TaskCardEditDialog.vb</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.manifest" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AndrewFuller22.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AnneDodsworth22.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\BobSmill22.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\EmilySmile22.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\nancy22.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<ProjectExtensions>
<VisualStudio>
<UserProperties ShouldAddDPIScalingManifest="True" />
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -0,0 +1,233 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class TaskCardEditDialog
Inherits Telerik.WinControls.UI.RadForm
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.radLabel1 = New Telerik.WinControls.UI.RadLabel()
Me.radLabel2 = New Telerik.WinControls.UI.RadLabel()
Me.radLabel3 = New Telerik.WinControls.UI.RadLabel()
Me.radLabel4 = New Telerik.WinControls.UI.RadLabel()
Me.usersCheckedDropDownList = New Telerik.WinControls.UI.RadCheckedDropDownList()
Me.titleTextBox = New Telerik.WinControls.UI.RadTextBox()
Me.descriptionTextBox = New Telerik.WinControls.UI.RadTextBox()
Me.tableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.tableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel()
Me.radButtonOK = New Telerik.WinControls.UI.RadButton()
Me.radButtonCancel = New Telerik.WinControls.UI.RadButton()
Me.tagsAutoCompleteBox = New Telerik.WinControls.UI.RadAutoCompleteBox()
CType(Me.radLabel1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.radLabel2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.radLabel3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.radLabel4, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.usersCheckedDropDownList, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.titleTextBox, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.descriptionTextBox, System.ComponentModel.ISupportInitialize).BeginInit()
Me.tableLayoutPanel1.SuspendLayout()
Me.tableLayoutPanel2.SuspendLayout()
CType(Me.radButtonOK, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.radButtonCancel, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.tagsAutoCompleteBox, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'radLabel1
'
Me.radLabel1.Dock = System.Windows.Forms.DockStyle.Top
Me.radLabel1.Location = New System.Drawing.Point(3, 3)
Me.radLabel1.Name = "radLabel1"
Me.radLabel1.Size = New System.Drawing.Size(109, 18)
Me.radLabel1.TabIndex = 0
Me.radLabel1.Text = "Title:"
'
'radLabel2
'
Me.radLabel2.Dock = System.Windows.Forms.DockStyle.Top
Me.radLabel2.Location = New System.Drawing.Point(3, 29)
Me.radLabel2.Name = "radLabel2"
Me.radLabel2.Size = New System.Drawing.Size(109, 18)
Me.radLabel2.TabIndex = 1
Me.radLabel2.Text = "Description:"
'
'radLabel3
'
Me.radLabel3.Dock = System.Windows.Forms.DockStyle.Top
Me.radLabel3.Location = New System.Drawing.Point(3, 107)
Me.radLabel3.Name = "radLabel3"
Me.radLabel3.Size = New System.Drawing.Size(109, 18)
Me.radLabel3.TabIndex = 2
Me.radLabel3.Text = "Users:"
'
'radLabel4
'
Me.radLabel4.Dock = System.Windows.Forms.DockStyle.Top
Me.radLabel4.Location = New System.Drawing.Point(3, 185)
Me.radLabel4.Name = "radLabel4"
Me.radLabel4.Size = New System.Drawing.Size(109, 18)
Me.radLabel4.TabIndex = 3
Me.radLabel4.Text = "Tags:"
'
'usersCheckedDropDownList
'
Me.usersCheckedDropDownList.AutoSize = False
Me.usersCheckedDropDownList.Dock = System.Windows.Forms.DockStyle.Fill
Me.usersCheckedDropDownList.DropDownAnimationEnabled = True
Me.usersCheckedDropDownList.ItemHeight = 20
Me.usersCheckedDropDownList.Location = New System.Drawing.Point(118, 107)
Me.usersCheckedDropDownList.Multiline = True
Me.usersCheckedDropDownList.Name = "usersCheckedDropDownList"
Me.usersCheckedDropDownList.Size = New System.Drawing.Size(341, 72)
Me.usersCheckedDropDownList.TabIndex = 4
'
'titleTextBox
'
Me.titleTextBox.Dock = System.Windows.Forms.DockStyle.Fill
Me.titleTextBox.Location = New System.Drawing.Point(118, 3)
Me.titleTextBox.Name = "titleTextBox"
Me.titleTextBox.Size = New System.Drawing.Size(341, 20)
Me.titleTextBox.TabIndex = 6
'
'descriptionTextBox
'
Me.descriptionTextBox.Dock = System.Windows.Forms.DockStyle.Fill
Me.descriptionTextBox.Location = New System.Drawing.Point(118, 29)
Me.descriptionTextBox.Multiline = True
Me.descriptionTextBox.Name = "descriptionTextBox"
'
'
'
Me.descriptionTextBox.RootElement.StretchVertically = True
Me.descriptionTextBox.Size = New System.Drawing.Size(341, 72)
Me.descriptionTextBox.TabIndex = 7
'
'tableLayoutPanel1
'
Me.tableLayoutPanel1.ColumnCount = 2
Me.tableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.0!))
Me.tableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 75.0!))
Me.tableLayoutPanel1.Controls.Add(Me.radLabel1, 0, 0)
Me.tableLayoutPanel1.Controls.Add(Me.radLabel4, 0, 3)
Me.tableLayoutPanel1.Controls.Add(Me.descriptionTextBox, 1, 1)
Me.tableLayoutPanel1.Controls.Add(Me.usersCheckedDropDownList, 1, 2)
Me.tableLayoutPanel1.Controls.Add(Me.titleTextBox, 1, 0)
Me.tableLayoutPanel1.Controls.Add(Me.radLabel2, 0, 1)
Me.tableLayoutPanel1.Controls.Add(Me.radLabel3, 0, 2)
Me.tableLayoutPanel1.Controls.Add(Me.tableLayoutPanel2, 1, 4)
Me.tableLayoutPanel1.Controls.Add(Me.tagsAutoCompleteBox, 1, 3)
Me.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.tableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
Me.tableLayoutPanel1.Name = "tableLayoutPanel1"
Me.tableLayoutPanel1.RowCount = 5
Me.tableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
Me.tableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30.0!))
Me.tableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30.0!))
Me.tableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 15.0!))
Me.tableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 15.0!))
Me.tableLayoutPanel1.Size = New System.Drawing.Size(462, 261)
Me.tableLayoutPanel1.TabIndex = 8
'
'tableLayoutPanel2
'
Me.tableLayoutPanel2.ColumnCount = 2
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.tableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.tableLayoutPanel2.Controls.Add(Me.radButtonOK, 0, 0)
Me.tableLayoutPanel2.Controls.Add(Me.radButtonCancel, 1, 0)
Me.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Right
Me.tableLayoutPanel2.Location = New System.Drawing.Point(259, 224)
Me.tableLayoutPanel2.Name = "tableLayoutPanel2"
Me.tableLayoutPanel2.RowCount = 1
Me.tableLayoutPanel2.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.tableLayoutPanel2.Size = New System.Drawing.Size(200, 34)
Me.tableLayoutPanel2.TabIndex = 10
'
'radButtonOK
'
Me.radButtonOK.DialogResult = System.Windows.Forms.DialogResult.OK
Me.radButtonOK.Dock = System.Windows.Forms.DockStyle.Fill
Me.radButtonOK.Location = New System.Drawing.Point(3, 3)
Me.radButtonOK.Name = "radButtonOK"
Me.radButtonOK.Size = New System.Drawing.Size(94, 28)
Me.radButtonOK.TabIndex = 8
Me.radButtonOK.Text = "OK"
'
'radButtonCancel
'
Me.radButtonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.radButtonCancel.Dock = System.Windows.Forms.DockStyle.Fill
Me.radButtonCancel.Location = New System.Drawing.Point(103, 3)
Me.radButtonCancel.Name = "radButtonCancel"
Me.radButtonCancel.Size = New System.Drawing.Size(94, 28)
Me.radButtonCancel.TabIndex = 9
Me.radButtonCancel.Text = "Cancel"
'
'tagsAutoCompleteBox
'
Me.tagsAutoCompleteBox.Dock = System.Windows.Forms.DockStyle.Fill
Me.tagsAutoCompleteBox.Location = New System.Drawing.Point(118, 185)
Me.tagsAutoCompleteBox.Name = "tagsAutoCompleteBox"
Me.tagsAutoCompleteBox.Size = New System.Drawing.Size(341, 33)
Me.tagsAutoCompleteBox.TabIndex = 11
'
'TaskCardEditDialog
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(462, 261)
Me.Controls.Add(Me.tableLayoutPanel1)
Me.Name = "TaskCardEditDialog"
'
'
'
Me.RootElement.ApplyShapeToControl = True
Me.Text = "TaskCardEditDialog"
CType(Me.radLabel1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.radLabel2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.radLabel3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.radLabel4, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.usersCheckedDropDownList, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.titleTextBox, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.descriptionTextBox, System.ComponentModel.ISupportInitialize).EndInit()
Me.tableLayoutPanel1.ResumeLayout(False)
Me.tableLayoutPanel1.PerformLayout()
Me.tableLayoutPanel2.ResumeLayout(False)
CType(Me.radButtonOK, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.radButtonCancel, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.tagsAutoCompleteBox, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Private radLabel1 As Telerik.WinControls.UI.RadLabel
Private radLabel2 As Telerik.WinControls.UI.RadLabel
Private radLabel3 As Telerik.WinControls.UI.RadLabel
Private radLabel4 As Telerik.WinControls.UI.RadLabel
Private usersCheckedDropDownList As Telerik.WinControls.UI.RadCheckedDropDownList
Private titleTextBox As Telerik.WinControls.UI.RadTextBox
Private descriptionTextBox As Telerik.WinControls.UI.RadTextBox
Private tableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
Private tableLayoutPanel2 As System.Windows.Forms.TableLayoutPanel
Private WithEvents radButtonOK As Telerik.WinControls.UI.RadButton
Private radButtonCancel As Telerik.WinControls.UI.RadButton
Private tagsAutoCompleteBox As Telerik.WinControls.UI.RadAutoCompleteBox
End Class

Просмотреть файл

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

Просмотреть файл

@ -0,0 +1,160 @@
Imports Telerik.WinControls.UI
Imports Telerik.WinControls.Primitives
Imports System.Drawing.Drawing2D
Imports System.Drawing.Imaging
Imports Telerik.WinControls.UI.TaskBoard
Imports System.ComponentModel
Public Class TaskCardEditDialog
Private taskCardToEdit As RadTaskCardElement
Private taskBoard As RadTaskBoard
Private imageSize As Size = New Size(16, 16)
Private teams As BindingList(Of String) = New BindingList(Of String)() From {
"WinForms",
"WPF",
"Reporting",
"Blazor",
"DocumentProcessing"
}
Private Sub New()
InitializeComponent()
Me.StartPosition = FormStartPosition.CenterParent
Me.Text = "Edit Card"
End Sub
Public Sub New(ByVal defaultTaskCard As RadTaskCardElement, ByVal taskBoardControl As RadTaskBoard)
Me.New()
Me.taskCardToEdit = defaultTaskCard
Me.taskBoard = taskBoardControl
Me.usersCheckedDropDownList.DataSource = Me.taskBoard.Users
Me.usersCheckedDropDownList.ValueMember = "Initials"
Me.usersCheckedDropDownList.CheckedDropDownListElement.ItemHeight = 26
AddHandler Me.usersCheckedDropDownList.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.CreateTextBlock, AddressOf AutoCompleteTextBox_CreateTextBlock
AddHandler Me.usersCheckedDropDownList.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.TextBlockFormatting, AddressOf AutoCompleteTextBox_TextBlockFormatting
AddHandler Me.usersCheckedDropDownList.VisualListItemFormatting, AddressOf usersCheckedDropDownList_VisualListItemFormatting
Me.tagsAutoCompleteBox.AutoCompleteDataSource = teams
LoadSettings(Me.taskCardToEdit)
End Sub
Private Sub LoadSettings(ByVal taskCard As RadTaskCardElement)
Me.titleTextBox.Text = taskCard.TitleText
Me.descriptionTextBox.Text = taskCard.DescriptionText
For Each user As UserInfo In taskCard.Users
Dim item As RadCheckedListDataItem = TryCast(Me.usersCheckedDropDownList.Items.FirstOrDefault(Function(x) x.Value.Equals(user.Initials)), RadCheckedListDataItem)
item.Checked = True
Next
For Each tag As RadTaskCardTagElement In taskCard.TagElements
Me.tagsAutoCompleteBox.Text += tag.Text & ";"
Next
End Sub
Private Sub AutoCompleteTextBox_TextBlockFormatting(ByVal sender As Object, ByVal e As TextBlockFormattingEventArgs)
Dim imageToken As ImageTokenizedTextBlockElement = TryCast(e.TextBlock, ImageTokenizedTextBlockElement)
If imageToken IsNot Nothing Then
Dim dataItem As RadCheckedListDataItem = TryCast(imageToken.Item.Value, RadCheckedListDataItem)
If dataItem IsNot Nothing Then
Dim user As UserInfo = TryCast(dataItem.DataBoundItem, UserInfo)
If user IsNot Nothing Then
imageToken.Image.Image = ResizeImage(user.Avatar, imageSize)
End If
End If
End If
End Sub
Private Sub AutoCompleteTextBox_CreateTextBlock(ByVal sender As Object, ByVal e As CreateTextBlockEventArgs)
If TypeOf e.TextBlock Is TokenizedTextBlockElement Then
e.TextBlock = New ImageTokenizedTextBlockElement()
End If
End Sub
Private Sub usersCheckedDropDownList_VisualListItemFormatting(ByVal sender As Object, ByVal args As VisualItemFormattingEventArgs)
Dim user As UserInfo = TryCast(args.VisualItem.Data.DataBoundItem, UserInfo)
If user IsNot Nothing Then
Dim visualItem As RadCheckedListVisualItem = TryCast(args.VisualItem, RadCheckedListVisualItem)
visualItem.CheckBox.Text = user.FirstName & " " + user.LastName
visualItem.CheckBox.Image = user.Avatar
visualItem.CheckBox.TextImageRelation = TextImageRelation.ImageBeforeText
End If
End Sub
Private Sub radButtonOK_Click(ByVal sender As Object, ByVal e As EventArgs) Handles radButtonOK.Click
Me.taskCardToEdit.TitleText = Me.titleTextBox.Text
Me.taskCardToEdit.DescriptionText = Me.descriptionTextBox.Text
Me.taskCardToEdit.Users.Clear()
For Each checkedUser As RadCheckedListDataItem In Me.usersCheckedDropDownList.CheckedItems
Me.taskCardToEdit.Users.Add(TryCast(checkedUser.DataBoundItem, UserInfo))
Next
Me.taskCardToEdit.TagElements.Clear()
For Each token As RadTokenizedTextItem In Me.tagsAutoCompleteBox.Items
Dim tag As RadTaskCardTagElement = New RadTaskCardTagElement()
tag.Text = token.Text
Me.taskCardToEdit.TagElements.Add(tag)
Next
End Sub
Public Class ImageTokenizedTextBlockElement
Inherits TokenizedTextBlockElement
Private _image As ImagePrimitive
Public ReadOnly Property Image As ImagePrimitive
Get
Return Me._image
End Get
End Property
Protected Overrides Sub CreateChildElements()
MyBase.CreateChildElements()
Me._image = New ImagePrimitive()
Me._image.ImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me._image.StretchVertically = False
Me._image.StretchHorizontally = False
Me._image.MaxSize = New Size(0, 20)
Me.Children.Insert(0, Me._image)
End Sub
Protected Overrides Function CreateTokenizedTextItem(ByVal text As String, ByVal value As Object) As RadTokenizedTextItem
Dim item As RadTokenizedTextItem = MyBase.CreateTokenizedTextItem(text, value)
Return item
End Function
Protected Overrides ReadOnly Property ThemeEffectiveType As Type
Get
Return GetType(TokenizedTextBlockElement)
End Get
End Property
End Class
Public Shared Function ResizeImage(ByVal image As Image, ByVal s As Size) As Bitmap
Dim width As Integer = s.Width
Dim height As Integer = s.Height
Dim destRect = New Rectangle(0, 0, width, height)
Dim destImage = New Bitmap(width, height)
destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution)
Using graphics = System.Drawing.Graphics.FromImage(destImage)
graphics.CompositingMode = CompositingMode.SourceCopy
graphics.CompositingQuality = CompositingQuality.HighQuality
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic
graphics.SmoothingMode = SmoothingMode.HighQuality
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality
Using wrapMode = New ImageAttributes()
wrapMode.SetWrapMode(System.Drawing.Drawing2D.WrapMode.TileFlipXY)
graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode)
End Using
End Using
Return destImage
End Function
End Class

Просмотреть файл

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true/PM</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of all Windows versions that this application is designed to work with.
Windows will automatically select the most compatible environment.-->
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
</application>
</compatibility>
</asmv1:assembly>