C#中如何让窗体的一部分部分透明?我想使表单的一部分成为半透明的,而该部分的附加文本是不透明的。我怎样才能在C#中实现这一点?我认为您不能仅将透明度(更准确地称为“不透明度”)应用于表单的一部分而不是整个表单。但是,您可以非常轻松地创建具有透明部分的自定义形状(即非矩形)。根据您要实现的确切“外观”,这可能是您最接近的。查看这些链接以创建自定义形状的窗体:在.NET中创建自定义形状的Windows窗体CustomShapedForms,DropdownC#TheonlyotheroptionforShapedWindowsFormsandControlsinVisualStudio.NET可能会显示两种形式,其中一种设置为部分透明。您必须以编程方式确保第二个表单位于“主”表单旁边,并在用户移动/调整“主”表单大小时按比例移动/调整大小。虽然这是两种形式,但可以让用户看到它实际上只是一种形式,尽管这可能很难实现,并且不是一个完美的解决方案(但可能“足够好”,具体取决于您的具体需求).您可以通过在窗体中创建一个完全透明的窗口,然后将半透明窗体浮动在完全透明的窗口上来实现。首先,将主窗体的TransparencyKey设置为Color.Red,然后在窗体上放置一个名为panel1的面板,并将其BackColor设置为红色。这将创建一个完全透明的“窗口”。像这样创建一个表单级表单引用:privateForm_floater;接下来,将这段代码放在主窗体的Load事件中:_floater=newForm();_floater.ShowInTaskbar=false;_floater.FormBorderStyle=FormBorderStyle。没有任何;_floater.Opacity=.5;_floater.Size=panel1.Size;_floater.StartPosition=FormStartPosition.Manual;_floater.Location=panel1.PointToScreen(新点(0,0));_floater.Show(这个);,把这段代码放在主窗体的Move事件中:_floater.Location=panel1.PointToScreen(newPoint(0,0));这里唯一的问题是,如果用户单击半透明的“窗口”,第二个窗体将获得焦点,因此您的主窗体的TitleBar是灰色的。单击此处在窗体上运行带有此半透明窗口的示例应用程序。如果不充分利用p/invoke调用和解决方法,我不确定WinForms能否做到这一点。您可能希望使用WindowsPresentationFoundation(WPF),这样的效果几乎是不可能实现的。简单:以上就是C#学习教程:C#中如何使部分窗体部分透明?如果分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注——myForm.Opacity=80;//用你的值换80本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
