Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: UserControl Добавлено: 21.12.08 19:39  

Автор вопроса:  BG(Алексей)
Сделал колор диалог. Ложу на форму и естественно он сразу прорисовывается. Не могу понять, как сделать так, что бы его можно было кинуть на форму(как net-овский) и позже вызывать
Form1.MyColorDialog.ShowDialog()

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 diplay



Вопросов: 4
Ответов: 69
 Профиль | | #1 Добавлено: 31.12.08 18:43
Тогда делай его не как контрол, а как диалоговое окно или как форму.

Ответить

Номер ответа: 2
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #2 Добавлено: 31.12.08 22:47
или как форму.

и как ты предлагаешь после этого
>>сделать так, что бы его можно было кинуть на форму

Если ты откроешь любой net'овский диалог в проводнике объектов, то ты увидишь что все они наследованы от System.Windows.Forms.CommonDialog
Тебя это ни на какую мысль не наводит? ;-)

Ответить

Номер ответа: 3
Автор ответа:
 BG(Алексей)



Вопросов: 26
Ответов: 295
 Профиль | | #3 Добавлено: 03.01.09 17:28
Спасибо, что откликнулись. Я разобрался.
Вот простейший вариант.
  1. Imports System.ComponentModel
  2.  
  3. Public Class MyColorDialog
  4.     Inherits System.ComponentModel.Component
  5.  
  6.     Public Function ShowDialog(ByVal ModalForm As System.Windows.Forms.Form) As System.Windows.Forms.DialogResult
  7.         'frmCD - форма на которой лежит мой КолорДиалог
  8.         Dim CD As New frmCD
  9.  
  10.         Return CD.ShowDialog(ModalForm)
  11.  
  12.     End Function
  13.  
  14.     Public Sub New(ByVal Container As System.ComponentModel.IContainer)
  15.         MyClass.New()
  16.         Container.Add(Me)
  17.     End Sub
  18.  
  19.     Public Sub New()
  20.         MyBase.New()
  21.         InitializeComponent()
  22.     End Sub
  23.  
  24.     Protected Overloads Overrides Sub Dispose( ByVal disposing As Boolean)
  25.         If disposing Then
  26.             If Not (components Is Nothing) Then
  27.                 components.Dispose()
  28.             End If
  29.         End If
  30.         MyBase.Dispose(disposing)
  31.     End Sub
  32.  
  33.     Private components As  System.ComponentModel.IContainer
  34.  
  35.     Private Sub InitializeComponent()
  36.         components = New System.ComponentModel.Container
  37.     End Sub
  38.  
  39. End Class


А вот простейший второй.
  1. Public Class MyColorDialog
  2.     Inherits CommonDialog
  3.  
  4.     Public Overrides Sub Reset()
  5.  
  6.     End Sub
  7.  
  8.     Protected Overrides Function RunDialog(ByVal hwndOwner As System.IntPtr) As Boolean
  9.         'frmCD - форма на которой лежит мой КолорДиалог
  10.         Dim CD As New frmCD
  11.         CD.ShowDialog()
  12.     End Function
  13. End Class

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам