- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想创建一个显示 EPG 的应用程序,如下图所示: http://gonedigital.net/wp-content/uploads/SonyEPG.jpg
我需要一个控件来显示时间轴。我考虑过使用 datagridview,但我认为它不合适,因为无法为每一行设置列大小。有没有可以使用的自定义控件?如果没有,对如何开始有什么建议吗?谢谢
编辑:
我已经使用了 TableLayoutPanel,它适用于少量数据。更大的数据变得太小了。我搜索并找到了SourceGrid这是非常快速和灵活的。
最佳答案
当然...用新表单尝试这个 TableLayoutPanel 示例。忽略颜色,因为它们很讨厌;而是关注网格布局以及标签如何跨列。这只是标题加上前三行。调整表格的宽度并注意比例是如何保持的:
public partial class Form1 : Form
{
private TableLayoutPanel grid = new TableLayoutPanel();
public Form1()
{
InitializeComponent();
grid.RowCount = 9;
for (int i = 1; i <= grid.RowCount; i++)
{
grid.RowStyles.Add(new RowStyle(SizeType.Percent, 42)); // all the same percent, the value doesn't matter
}
grid.ColumnCount = 16;
for (int i = 1; i <= grid.ColumnCount; i++)
{
grid.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 42)); // all the same percent, the value doesn't matter
}
grid.Dock = DockStyle.Fill;
this.Controls.Add(grid);
this.BackColor = Color.Black;
ExampleGrid();
}
private void ExampleGrid()
{
grid.Controls.Clear();
AddEntry("Today", 0, 1, 3, Color.White, Color.Black, false);
AddEntry("| 14:00", 0, 4, 3, Color.White, Color.Black, false);
AddEntry("| 14:30", 0, 7, 3, Color.White, Color.Black, false);
AddEntry("| 15:00", 0, 10, 3, Color.White, Color.Black, false);
AddEntry("| 15:30", 0, 13, 3, Color.White, Color.Black, false);
AddEntry("050", 1, 0, 1, Color.White, Color.Black, false);
AddEntry("BBC HD", 1, 1, 3, Color.White, Color.Black, false);
AddEntry("Mary Poppins", 1, 4, 8, Color.Black, Color.White, true);
AddEntry("Dustbin Baby -->", 1, 12, 4, Color.White, Color.LightGray, true);
AddEntry("051", 2, 0, 1, Color.White, Color.Black, false);
AddEntry("ITV1 HD", 2, 1, 3, Color.White, Color.Black, false);
AddEntry("Rosemary and Thyme", 2, 4, 6, Color.White, Color.Gray, true);
AddEntry("Agatha Christie's Poirot -->", 2, 10, 6, Color.White, Color.LightGray, true);
AddEntry("052", 3, 0, 1, Color.White, Color.Black, false);
AddEntry("Channel 4 HD", 3, 1, 3, Color.White, Color.Black, false);
AddEntry("The Green Berets", 3, 4, 5, Color.White, Color.Gray, true);
AddEntry("Coach Trip", 3, 9, 3, Color.White, Color.LightGray, true);
AddEntry("Countdown -->", 3, 12, 4, Color.White, Color.LightGray, true);
// ... etc ...
}
private void AddEntry(string text, int row, int col, int columnSpan, Color foreColor, Color backColor, bool border)
{
Label lbl = new Label();
lbl.Text = text;
lbl.AutoSize = false;
lbl.AutoEllipsis = true;
lbl.ForeColor = foreColor;
lbl.BackColor = backColor;
lbl.Dock = DockStyle.Fill;
lbl.BorderStyle = border ? BorderStyle.FixedSingle : BorderStyle.None;
lbl.TextAlign = ContentAlignment.MiddleLeft;
grid.Controls.Add(lbl, col, row);
grid.SetColumnSpan(lbl, columnSpan);
}
}
关于c# - EPG 时间线控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19406017/
我有兴趣从 DVB-T 流中获取 EPG 数据。有谁知道任何 C 库或获取数据的替代方法? 最佳答案 tv_grab_dvb 可以做到这一点。见 subversion repository为来源。 t
我想创建一个显示 EPG 的应用程序,如下图所示: http://gonedigital.net/wp-content/uploads/SonyEPG.jpg 我需要一个控件来显示时间轴。我考虑过使用
有没有办法实现EPG将 XAML 用于 WinPhone/WinRT?我看到很多 iOS/Android/Web 应用程序这样做,但没有 WP 或 WinStore。 它应该支持大量项目(500 个
WWDC 的一些人告诉我,UICollectionView 非常适合在 iOS 中创建 EPG(电子节目指南)样式的 View ,如下图所示。但是,我找不到任何与此接近的样本...有人知道怎么做吗?
我正在尝试搜索 XML 格式 ( xmltv ) 的 EPG(电子节目指南)。我想找到所有包含特定文本的节目,例如今天哪些 channel 将播放特定的足球(足球)比赛。示例数据(真实数据是 > 20
我们正在为 android 电视应用开发 EPG 布局,但我们的应用并未完全实现 TIF 我们能否仅使用来自 TIF 的 EPG 布局并将其呈现在我的应用程序上? 任何想法,请提出建议 谢谢 最佳答案
我正在尝试编写 EPG 抓取器。我在 linux 下使用 libucsi 库。我可以从 EIT 表中读取一个 TS 并解码 EPG 数据。但它不完整,我不知道如何阅读所有必要的 TS。 我尝试用谷歌搜
我现在正在为 android TV 创建一个 EPG 应用程序,因此我需要访问存储在“/data/data/com.android.providers.tv/databases/tv.db”中的 ch
我将首先分享我的屏幕图表。 Diagram of the screen 每个单元格 Pij 表示为最左侧 channel 列中的 channel Ci 安排的节目,该 channel 应随网格垂直滚动
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我想用 ffmpeg 从 dvb-t (live tv stream - udp) 中提取 EPG。 我有一个 dvb-t 设备并使用 udp 接收流。 最佳答案 我有一个使用 mumudvb 生成的
我是一名优秀的程序员,十分优秀!