PDA

View Full Version : مشکل در DLL



rahebeh
شنبه 16 آذر 1387, 23:24 عصر
من یه DLL ساختم که توی اون DLL یه textbox گذاشتم .و از رویداد کی پرس textbox استفاده کردم.
حالا DLL رو میخوام توی یه برنامه بیارم و توی اون برنامه از رویداد کی پرس DLL استفاده کنم ولی هنگام زدن دکمه های صفحه کلید رویداد کی پرس textbox اجرا میشه و مانع از اجرای رویداد کی پرس DLL میشه....!!؟؟


اگه منو تو حل این مشکل کمک کنین ممنون میشم...

mostafaaa
یک شنبه 17 آذر 1387, 09:27 صبح
سلام دوست من
به نظرم اگه در مورد هدف کارت یه کمی توضیح بدی شاید بهتر بشه کمکت کرد. چیکار میخوای بکنی؟چرا DLL؟

Mahdiyeh_R
یک شنبه 17 آذر 1387, 14:12 عصر
سلام دوست من
به نظرم اگه در مورد هدف کارت یه کمی توضیح بدی شاید بهتر بشه کمکت کرد. چیکار میخوای بکنی؟چرا DLL؟
سلام
من و rahebeh با هم داريم روي اين برنامه كار مي كنيم ما بايد يه dll بسازيم شامل يه textbox كه فرمت اعداد در اون رعايت مي شه (سه تا سه تا از راست كاما ميذاره)
البته اين dll بايد بدون استفاده از توابع format و replace ساخته بشه.برنامه تقريبا كامله ولي وقتي dll رو روي فرم مياريم ميخوايم با زدن كليد enter كنترل بعدي فوكوس بگيره ولي اصلا رويداد keypress دي ال ال روي فرم ناديده گرفته مي شه
ممنون ميشم راهنماييمون كنين:چشمک:

mostafaaa
یک شنبه 17 آذر 1387, 19:55 عصر
سلام دوستان من

بدون استفاده از توابع format
البته علت این قسمت از حرفتون رو درک نکردم.
در هر صورت کد زیر مربوط به یک UserControl میشه که هم اعداد رو از سمت راست 3 رقم 3 رقم جدا میکنه و هم زمانی که Enter زده میشه کنترل بعدی فکوس میگیره. اگه با استفاده از این نتونستید مشکلتون رو حل کنید بگید تا بدون استفاده از تابع FormatNumber کد رو براتون اصلاح کنم.

Public Class UserControl1
Inherits System.Windows.Forms.TextBox
Private Sub UserControl1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.TextChanged
If Not Me.Text.Trim = "" And IsNumeric(Me.Text.Trim) Then
Me.Text = FormatNumber(Me.Text, 0)
Me.SelectionStart = Me.TextLength
ElseIf Not Me.TextLength = 0 Then
Me.Text = Me.Text.Substring(0, Me.TextLength - 1)
End If
End Sub
Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean
If keyData = Keys.Enter Then keyData = Keys.Tab
Return MyBase.ProcessDialogKey(keyData)
End Function
End Class